用基于Linux的PHP自建维基Wiki网站
|
||
在Web 2.0革命中,维基(Wiki)的起源比博客还要早。博客要由自己一个人编写并维护,每天更新博客会让你思维枯竭,维基技术和支持它的网页却能够让大家群策群力一起交流共同爱好。维基对所有人包括浏览Wiki页面的人都是全面开放的。也就是说,每个人都可以任意创建、修改和删除网站上的页面内容。维基和博客相比更加具有团队精神。 通常我们将Wiki翻译为“维基”。Wiki一词来源于夏威夷语的“wee kee wee kee”,原本是“快点快点”的意思。Wiki是一种在线多人协作的超文本系统写作工具。Wiki站点支持面向社区的协作式写作,每个人都可以发表自己的见解,或者对共同维护的主题进行扩展。Wiki同时也包括一组支持这种写作的辅助工具,可以在Web的基础上对Wiki页面的文本进行创建,更改和发布,比做网页和更新网页简单方便得多。 实现Wiki的方式有两种:一种是到Wiki空间提供网站注册,注册完后就可以开始了。另外一种就是在自己的计算机上架设一个Wiki,其好处是没有储存空间的限制,缺点是整个过程稍微麻烦一点,还必须要有不错的上传带宽,不过造访人数不多时,家用的ADSL也够用了。虽然在自己的计算机上架设Wiki存在缺点,但是自由度相对也比较大,这里,笔者就教你如何在十分钟内在你的计算机上架设好Wiki。 本文将要搭建的LAMP动态Wiki网站是基于Linux的PHP技术的实现方法。LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。这些组件虽然并不是一开始就设计为一起使用的,但是,这些开源软件都可以很方便地随时获得并免费使用。这就导致了这些组件经常在一起使用。在过去的几年里,这些组件的兼容性不断完善,在一起的应用情形变得非常普便。PHP是一种跨平台的服务器端的嵌入式脚本语言,它大量地借鉴C、Java和Perl语言的语法,并加入了PHP自己的特性,使Web开发者能够快速地写出动态页面。PHP支持所有主流数据库。它是完全免费的,使用时不需要支付任何费用。 另外,如果希望在Unix、BSD、Linux平台使用zlib格式则需要安装动态链接函数库zlib。Zlib官方网站为:http://www.gzip.org/zlib/ ,编译时注意使用如下命令行选项:./configure --with-zlib。 CMS软件的选择 如果从Web 搜索开放源码内容管理,你将发现大量的站点、系统和项目。特别是 Open Source Content Management OSCOM 这个站点,它是专门针对这个主题的。那么什么是内容管理系统呢?来自 X-infoModeL 的定义是笔者见到的最好的定义之一:“在组织、分类和构造信息资源以便以多种方式存储、发布和重用这些信息资源时涉及的过程和工作流。内容管理系统(CMS)用于收集、管理和发布内容,以组件或完整文档的形式存储内容,同时维护组件之间的链接。它还可以提供内容校正控制。”Mambo,中文意思为曼波音乐(源于古巴黑人音乐),是功能最强大的开放源码的内容管理系统之一。在2004年4月20日伦敦举行的Linux用户和开发员大会上,Mambo从众多优秀的开放源码系统中脱颖而出,获得2004年度最佳Linux开放源码系统奖项,和它同场竞技的有KDE、Firebird SQL以及eGroupware等,Mambo的口号是 Power in Simplicity ( 强大源自简易)。Mambo基于php+mysql技术开发,具有易于安装、管理简单、可靠性高等特点。Mambo可在全球范围内构建各种类型的网站,小到简单的个人网站,大到复杂的公司应用网站,Mambo都可轻松搞定。Mambo是一个内容管理系统,用于发布网站。目前已经加入许多模块,提供包括购物车、横幅广告、自定义地图、聊天和论坛等功能。 搭建Wiki网站 1. Mambo CMS软件下载 #cd var/www/html #wegt http://mamboforge.net/frs/download.php/4211/mambo452-Global.zip #unzip mambo452-Global.zip “建立一个目录” 2. Mambo建立数据库 # mysql -u root -p Enter password: xxxxxxxxx Your Mysql connection id is 3 to server version: 4.11 Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. Mysql> create mambo database ; “为建立数据库” Query OK, 1 row affected (0.01 sec) Mysql>grant all mambo privileges on mambo.* to mambo@localhost identified by ‘76543981’;?“将建立的Mambo权限给Mambo账号,并且设定密码” mysql>exit 3. 测试刚建立的数据库与账号是否可以使用 # mysql -u -p Enter password: xxxxxxxxx Your Mysql connection id is 3 to server version: 4.11 …… Mysql> connect mambo; Connection id: 5 Current database: mysql>show databases; +--------------+ | Database | +--------------+ | mysql | | mambo | +--------------+ 2 rows in set (0.00 sec) mysql> quit 4.开始安装Mambo ● 赋予权限 #cd /var/www/html/ #进入到Apache 服务器的确省目录中# #chmod 777 /var/www/html/mambo 进行网络安装安非常简单,通常需要以下几个步骤:打开Linux的Firefox火狐浏览器在地址栏直接输入:http://主机名/mambo /installation/index.php 后,出现安装前准备工作界面,选择语言选项为绿色后选择同意,然后点击“下一步”按钮,见图1。然后是是否接受软件许可协议,选择同意,点击“下一步”按钮。 图1 安装前的检查 ● MySQL数据库设定 需要说明的是:MySQL服务器名称为 localhost ,这个是 MySQL 的服务器名称,不是 Linux服务器名称。通常 MySQL 的服务器名称是:localhost 。MySQL数据库名称为 mambo,MySQL 账号为mambo且密码为上面设定值,数据库表格字首通常是mom_s,见图2 |

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

PHPの...(SPLAT)演算子は、機能パラメーターと配列を開梱するために使用され、コードのシンプルさと効率を向上させます。 1)関数パラメーター解放:アレイ要素をパラメーターとして関数に渡します。 2)配列の開梱:アレイを別の配列または関数パラメーターに解除します。

PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。

c言語条件付きコンパイルは、コンパイル時間条件に基づいてコードブロックを選択的にコンパイルするメカニズムです。導入方法には、#IFおよび#ELSEディレクティブを使用して、条件に基づいてコードブロックを選択します。一般的に使用される条件付き式には、STDC、_WIN32、Linuxが含まれます。実用的なケース:オペレーティングシステムに従って異なるメッセージを印刷します。システムの数字数に応じて異なるデータ型を使用します。コンパイラに応じて、異なるヘッダーファイルがサポートされています。条件付きコンパイルにより、コードの移植性と柔軟性が向上し、コンパイラ、オペレーティングシステム、CPUアーキテクチャの変更に適応できます。

私はLua-Libuvというプロジェクトを開発しましたが、私の経験を喜んで共有しています。プロジェクトの当初の意図は、libuv(cで書かれた非同期I/Oライブラリ)を使用して、C言語を深く学習せずに簡単なHTTPサーバーを構築する方法を探ることです。 ChatGptの助けを借りて、http.cの基本コードを完了しました。永続的な接続を扱うとき、私は正しいタイミングでリソースを閉鎖し、解放することに成功しました。最初は、接続を閉じることでメインプログラムを終了するシンプルなサーバーを作成しようとしましたが、いくつかの問題がありました。ストリーミングを使用してデータのブロックを送信しようとしましたが、機能している間、これによりメインスレッドがブロックされます。最終的に、私の目標はC言語を深く学ぶことではなかったので、このアプローチをあきらめることにしました。最後に、i

PHPの厳格なタイプは、declare(strict_types = 1)を追加することで有効になります。ファイルの上部に。 1)関数パラメーターのタイプチェックと戻り値を強制して、暗黙の型変換を防ぎます。 2)厳格なタイプを使用すると、コードの信頼性と予測可能性を改善し、バグを減らし、保守性と読みやすさを向上させることができます。
