wiki搭建

devtools/2024/10/19 4:21:19/

搭建一个维基(Wiki)站点可以通过多种平台和工具来实现,常见的有 MediaWiki、DokuWiki 和 TikiWiki 等。下面以 MediaWiki 为例,详细介绍如何在 Linux 环境下搭建和配置一个典型的 Wiki 系统:

系统要求
确保你的服务器满足以下基本需求:

Apache/Nginx Web 服务器
PHP 7.3+(推荐 7.4+)
MySQL/MariaDB 或 PostgreSQL 数据库
一、安装 MediaWiki

  1. 更新系统
sudo apt-get update && sudo apt-get upgrade
  1. 安装 Apache
sudo apt-get install apache2

确保 Apache 已启动:

sudo systemctl start apache2
sudo systemctl enable apache2
  1. 安装 PHP 和所需模块
sudo apt-get install php php-mysql php-xml php-mbstring php-intl php-gd php-apcu
  1. 安装 MySQL/MariaDB
sudo apt-get install mysql-server
sudo mysql_secure_installation
  1. 创建数据库和用户
mysql -u root -p

在 MySQL 命令行中执行:

CREATE DATABASE wikidb;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wikidb.* TO 'wikiuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  1. 下载和解压 MediaWiki
    获取最新版本的 MediaWiki:
wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.0.tar.gz
tar -xvzf mediawiki-1.35.0.tar.gz
sudo mv mediawiki-1.35.0 /var/www/html/mediawiki
  1. 配置 Apache 虚拟主机(可选)
    编辑 Apache 配置文件以添加虚拟主机:
sudo nano /etc/apache2/sites-available/mediawiki.conf

内容如下:

<VirtualHost *:80>ServerAdmin admin@example.comDocumentRoot /var/www/html/mediawikiServerName example.com<Directory /var/www/html/mediawiki/>Options FollowSymLinksAllowOverride AllRequire all granted</Directory>ErrorLog ${APACHE_LOG_DIR}/mediawiki_error.logCustomLog ${APACHE_LOG_DIR}/mediawiki_access.log combined
</VirtualHost>

启用虚拟主机并重启 Apache:

sudo a2ensite mediawiki.conf
sudo systemctl reload apache2
  1. 安全配置
    确保目录权限正确:
sudo chown -R www-data:www-data /var/www/html/mediawiki
  1. 通过 Web 安装
    在浏览器中打开 http://example.com,按照向导进行安装:

输入数据库名称、用户名和密码
设置管理员账户和密码
配置站点名称和语言
安装完成后会生成一个 LocalSettings.php 文件,将该文件移动到 MediaWiki 根目录:

sudo mv /var/www/html/mediawiki/LocalSettings.php /var/www/html/mediawiki/

二、其他配置和优化

  1. 启用 .htaccess(可选)
    编辑 LocalSettings.php 以启用友好的URL:
$wgScriptPath = "";
$wgArticlePath = "/$1";
  1. 安装扩展和皮肤
    可以通过命令行或管理界面安装扩展和皮肤,提升维基站点的功能和外观。

  2. 备份
    定期备份数据库和 MediaWiki 文件,防止数据丢失:

mysqldump -u wikiuser -p wikidb > wikidb-backup.sql
tar -cvzf mediawiki-backup.tar.gz /var/www/html/mediawiki

三、DokuWiki 和 TikiWiki
DokuWiki 和 TikiWiki 是两个不涉及数据库的维基平台,DokuWiki 使用文本文件存储数据,适合小型团队或较小规模的知识管理,TikiWiki 则集成了更多功能,可以满足更复杂的需求。它们的安装过程也较为简单,类似于上传文件并进行基本配置。


http://www.ppmy.cn/devtools/126915.html

相关文章

Mycat引领MySQL分布式部署新纪元:性能与扩展性的双重飞跃

作者简介&#xff1a;我是团团儿&#xff0c;是一名专注于云计算领域的专业创作者&#xff0c;感谢大家的关注 座右铭&#xff1a; 云端筑梦&#xff0c;数据为翼&#xff0c;探索无限可能&#xff0c;引领云计算新纪元 个人主页&#xff1a;团儿.-CSDN博客 目录 前言&#…

esp32 开发需要那些开发语言

ESP32 开发支持多种编程语言和开发框架&#xff0c;Python 也可以用于开发&#xff0c;特别是通过 MicroPython。以下是一些主流的开发语言和框架供你选择&#xff1a; 1. C/C ESP-IDF&#xff08;Espressif IoT Development Framework&#xff09;&#xff1a;这是由 Espres…

openSSL生成WEB SSL证书

1.使用openSSL生成凭证与私钥&#xff1a; openssl genrsa -out privatekey.pem 2048 openssl req -new -key privatekey.pem -out cert_req.pemCountry Name (2 letter code) [AU]:cn State or Province Name (full name) [Some-State]:sh Locality Name (eg, city) []:sh Or…

【React】父组件如何调用子组件的方法

在React中&#xff0c;父组件可以通过ref来调用子组件的方法。以下是一个简单的示例&#xff0c;展示了如何在父组件中使用ref来调用子组件的方法。 子组件 首先&#xff0c;在子组件中定义一个方法&#xff0c;并使用forwardRef将其暴露给父组件。 注意下面的代码块中&#x…

探索秘境:如何使用智能体插件打造专属的小众旅游助手『小众旅游探险家』

文章目录 摘要引言智能体介绍和亮点展示介绍亮点展示 已发布智能体运行效果智能体创意想法创意想法创意实现路径拆解 如何制作智能体可能会遇到的几个问题快速调优指南总结未来展望 摘要 本文将详细介绍如何使用智能体平台开发一款名为“小众旅游探险家”的旅游智能体。通过这…

新员工入职流程指南_完整入职流程解析

文章介绍了新员工入职流程的重要性、步骤及持续时间&#xff0c;并推荐ZohoPeople软件自动化管理入职流程&#xff0c;提升新员工入职体验&#xff0c;减少离职率&#xff0c;确保合规性&#xff0c;提升公司品牌形象。 一、新员工入职流程是怎样的&#xff1f; 入职流程是指一…

京东背调有病吧......

大家好&#xff0c;我是鸭鸭&#xff01; 又到周一&#xff0c;新的一周新的摸鱼&#xff0c;今天鸭鸭也在高强度互联网冲浪&#xff0c;没想到刷到这么一条帖子&#xff1a; 一般来说&#xff0c;很多大公司入职流程中都会包含背调&#xff0c;大家也都习惯了会准备好相应的信…

现代数字信号处理I-P3 MVUE学习笔记

目录 1. 参数估计问题的提出与本质 2. 估计的性质 2.1 Ancillary&#xff08;多余估计&#xff09; 例1&#xff0c;Ancillary估计量 2. Uniformly Optimal 3. Sufficiency充分性 3.1 统计量充分性定义 例2&#xff1a;利用充分统计量定义获取伯努利分布的充分统计量 …