ubuntu18.04使用docker搭建mediawiki+VisualEditor
1.安裝docker
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
2.使用docker拉取映象
# 拉取mysql映象
docker pull mysql:5.7.29
# 拉取mediawiki映象
docker pull mediawiki:1.34
# 拉取parsoid映象
docker pull thenets/parsoid:0.11
3.執行parsoid容器
# --add-host是給容器的/etc/hosts檔案新增ip別名配置
docker run --name parsoid --add-host mediawiki:172.17.0.4 -p 8000:8000 -e PARSOID_DOMAIN_mediawiki=http://mediawiki/api.php -d thenets/parsoid:0.11
此時在瀏覽器下輸入你的ip地址:8000,應該可以看到如下介面:
如果看不到可以檢查一下埠有沒有開放,或者直接關閉防火牆
4.執行mysql容器
docker run --name mysql -p 3306:3306 -v /data/mediawiki/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=190539 -d mysql:5.7.29
這裡的MYSQL_ROOT_PASSWORD指定的是mysql的root使用者的密碼
啟動完成後可以進入mysql容器:
docker exec -it mysql /bin/bash
輸入命令連線mysql:
mysql -uroot -p123456
連線成功就說明mysql沒有什麼問題
5.啟動mediawiki
docker run --name mediawiki -v /data/mediawiki/html:/var/www/html -v /data/mediawiki/php:/usr/local/etc/php -p 80:80 --link mysql:mysql --link parsoid:parsoid -d mediawiki:1.35
瀏覽器訪問你的ip,正常情況下應該出現以下介面:
6.設定mediawiki
點選上圖中的set up the wiki
前面的頁面直接下一步,到這裡需要修改主機和填寫資料庫密碼,這裡直接填mysql,資料庫密碼是之前啟動mysql設定的密碼
剩下的就沒有什麼重要的了,自己配置就可以了
完成配置之後會自動下載一個LocalSettings.php
需要將這個檔案匯入到mediawiki容器中
docker cp LocalSettings.php mediawiki:/var/www/html/
瀏覽器再訪問ip地址就是mediawiki的首頁了
7.mediawiki檔案上傳配置
首先要進入容器進行:
docker exec -it mediawiki /bin/bash
7.1開啟檔案上傳
LocalSettings.php
#開啟檔案上傳功能
$wgEnableUploads = true;
7.2修改檔案上傳的支援型別
includes/DefaultSettings.php
#修改支援上傳的檔案型別
$wgFileExtensions = [ 'png', 'gif', 'jpg', 'jpeg', 'webp' ];
7.3修改上傳檔案大小限制
7.3.1修改mediawiki的檔案上傳配置
includes/DefaultSettings.php
# 檔案大小超出限制是否給出警告資訊
$wgUploadSizeWarning = false;
# 只能能夠上傳檔案的最大size
$wgMaxUploadSize = 1024 * 1024 * 100; # 100MB
7.3.2修改php的檔案上傳配置
在/var/www/html目錄下建立一個info.php檔案,然後:
echo "<?php phpinfo(); ?>" >> /var/www/html/info.php;
開啟瀏覽器訪問 你的ip/info.php ,在顯示頁面找到如下內容:
第一個是php配置檔案預設載入路徑,第二個是php配置檔案實際載入路徑,因為實際載入路徑為none,所以php使用的是預設載入路勁下的php.ini檔案,進入這個目錄
cd /usr/local/etc/php
我的這個目錄下沒有php.ini檔案
將php.ini-development重新命名為php.ini
mv php.ini-development php.ini
修改php.ini(需要重啟mediawiki容器才能生效)
upload_max_filesize = 8M
post_max_size = 8M
mediawiki會取DefaultSettings.php中的$wgMaxUploadSize、php.ini中的upload_max_filesize和php.ini中的post_max_size的最小值作為最終的上傳檔案大小限制。
8.mediawiki配置視覺化編輯器VisualEditor
8.1 配置parsoid
檢視mediawiki容器的ip:
docker inspect mediawiki
進入parsoid容器:
docker exec -it parsoid /bin/bash
將mediawiki的ip配置別名:
如果parsoid重啟這裡的hosts檔案就會丟失修改,需要重新配置
echo "127.17.0.4 mediawiki" >> /etc/hosts
parsoid服務的配置檔案在/var/lib/parsoid/config.yaml,按照上面的步驟做這裡就不需要修改。
8.2 配置mediawiki
LocalSettings.php
wfLoadExtension( 'VisualEditor' );
// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable'] = 1;
// Optional: Set VisualEditor as the default for anonymous users
// otherwise they will have to switch to VE
// $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";
// Don't allow users to disable it
$wgHiddenPrefs[] = 'visualeditor-enable';
// OPTIONAL: Enable VisualEditor's experimental code features
#$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;
$wgVirtualRestConfig['modules']['parsoid'] = array(
// URL to the Parsoid instance
// Use port 8142 if you use the Debian package
'url' => 'http://parsoid:8000',
// Parsoid "domain", see below (optional)
'domain' => 'mediawiki',
// Parsoid "prefix", see below (optional)
'prefix' => 'mediawiki'
);
之後再訪問mediawiki,點選編輯就可以使用VisualEditor編輯了
9.mediawiki新增公式支援
10.mediawiki配置視訊播放支援
11.修改登陸註冊框的提示語
/var/www/html/languages/i18n/zh-hans.json,在這個檔案裡搜,改相應的文字就好了
12.docker設定自動重啟
docker update --restart=always 容器名
13.設定時間,linux下的時區預設是有問題的
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
相關文章
- ubuntu18.04 安裝dockerUbuntuDocker
- 使用docker搭建sonarqubeDocker
- 使用 Docker 搭建 ConfluenceDocker
- ubuntu18.04配置Jenkins+dockerUbuntuJenkinsDocker
- 使用Docker搭建Chirpy部落格Docker
- 使用 Docker 和 Traefik 搭建 WordPressDocker
- 使用 Docker 和 Traefik 搭建 VaultDocker
- 使用docker 搭建rabbitmq 叢集DockerMQ
- 使用docker搭建laravel環境DockerLaravel
- 使用docker搭建gitlab環境DockerGitlab
- 使用docker快速搭建gitlab私服DockerGitlab
- ubuntu18.04服務版搭建opensipsUbuntu
- Ubuntu18.04 安裝 Docker CE 的方法UbuntuDocker
- 使用docker快速搭建hive環境DockerHive
- 使用 docker + devpi 搭建本地 pypi 源Dockerdev
- 使用 Docker 搭建 Laravel 本地環境DockerLaravel
- 使用 Docker 搭建你的Wiki(MoinMoin)Docker
- 使用 Docker 搭建你的Wiki(TiddlyWiki)Docker
- 使用 Docker 搭建你的Wiki(MediaWiki)Docker
- ubuntu18.04搭建dhcpv6服務Ubuntu
- Ubuntu18.04 搭建go編譯環境UbuntuGo編譯
- 關於 Windows 子系統 WSL ubuntu18.04 無法使用 sudo systemctl restart dockerWindowsUbuntuRESTDocker
- 使用 Docker 搭建本地開發環境!Docker開發環境
- 使用 docker + verdaccio 搭建npm私有倉庫DockerNPM
- 使用 PhpStorm + Docker 搭建開發環境PHPORMDocker開發環境
- 使用 Docker 搭建 minio 檔案儲存Docker
- Docker使用Portainer搭建視覺化介面DockerAI視覺化
- docker使用容器搭建本地私有倉庫Docker
- Elasticsearch使用系列-Docker搭建Elasticsearch叢集ElasticsearchDocker
- Windows10 使用phpstorm、docker搭建HyperfWindowsPHPORMDocker
- docker使用nginx搭建靜伺服器DockerNginx伺服器
- 使用 Docker 和 Traefik 搭建 GitLab(後篇)DockerGitlab
- 使用 Docker 和 Traefik 搭建 GitLab (前篇)DockerGitlab
- Ubuntu18.04安裝Selenium和環境搭建Ubuntu
- Ubuntu18.04 桌面版 搭建 LNMP 環境UbuntuLNMP
- 在 Ubuntu18.04 上安裝 Docker CE (社群版)UbuntuDocker
- Docker極簡入門:使用Docker-Compose 搭建redis叢集DockerRedis
- 使用伺服器docker搭建Pwn題目伺服器Docker