Docker 安装mediawiki
docker>Evan2019年7月8日 (一) 15:06的版本 (→Memcached)
目录
install and config
db
pre
#在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启: $docker run --restart=always #如果已经启动了则可以使用如下命令: $docker update --restart=always <CONTAINER ID> mysql什么的也可以rpm 但是尽量docker
mariadb
#在sra pi上好象是没有的 docker pull mariadb:latest docker run -p 3307:3306 --restart 策略名称 -v 宿主机数据目录:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql密码 -d 镜像ID docker run --name mymariadb -p 3306:3306 --restart always -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=2240881 -d 54514d54a4a5 docker run --name mymariadb -p 3307:3306 --restart always -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=2240881 -d mariadb #同上 开启远程访问用户和密码 echo 'mymariadb 192.168.10.105' >>/etc/hosts mysql -uroot -p2240881 -h 192.168.10.105 -P3307 #连接
mysql
docker pull mysql:5.7 #config and run docker run -p 3307:3306 --restart 策略名称 -v 宿主机数据目录:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql密码 -d 镜像ID docker run --name mymysql -p 3306:3306 --restart always -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=2240881 -d 54514d54a4a5 mysql8 docker run --name mymysql8 -e MYSQL_ROOT_PASSWORD=evan2240881 -p3306:3306 -d mysql:8 #开启远程访问 create user 'evan'@'%' identified by 'evan2240881';
Installing and using MariaDB via Docker
wiki
#前提 得开启mysql远程访问 直接登录到mysql 容器里面进去 用一开始运行mysql容器的那个用户和密码,再添加远程用户和密码 docker pull mediawiki docker run --name mymediawiki -p 88:80 --link mymariadb:mysql -d mediawiki #is good docker cp LocalSettings.php 3c0002c21a6a:/var/www/html/LocalSettings.php --net=host #如果是使用mysql docker run --name mymediawiki -p 88:80 --link mymysql:mysql -d mediawiki mediawiki 这个不会自启动 docker run --name mymediawiki --link mymariadb:mysql -d wikimedia/mediawiki #起来 这个感觉不对
#is old docker pull mediawiki #还是指定目录比较好 但是现在 官方的好像不支持 -v了 docker run --restart=always --name mediawiki -p 8080:80 -v /data/mediawiki -d 8d721d068c81 #2018 但是没办法直接数据交互 下面的用了有问题呢 #mysql 填写 192.168.0.10:3307 docker run --name mediawiki -p 8080:80 -v /data/mediawiki:/var/www/html/ -d id #docker run --name mediawiki -p 8080:80 -v /data/mediawiki:/var/www/html/ -d mediawiki docker cp /data/LocalSettings.php mediawiki:/var/www/html/LocalSettings.php 默认上传目录 /var/www/html/images/ #解说 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。 docker run --name mynginx -d nginx:latest #交互 sudo docker exec -it facethink-mediawiki /bin/bash #开机自启动 #在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启: $docker run --restart=always #如果已经启动了则可以使用如下命令: $docker update --restart=always <CONTAINER ID> #上次就是这样解决了重启后nginx问题
wiki configure
Database host: 192.168.88.52 多问我一些问题吧 那里还在要求可以填写缓存什么的 编辑者 CodeEditor(需要WikiEditor) 其实皮肤可以只要一个
mysql
nginx
on docker
no docker
#这个在内网其实可以不用呢 server { listen 80; server_name wiki.linuxsa.org; charset utf-8; #access_log /var/log/nginx/host.access.log main; location / { proxy_pass http://192.168.50.206:8080; root /usr/share/nginx/html; index index.html index.htm; } docker cp default.conf nginx:/etc/nginx/conf.d/default.conf #手工的nginx [root@localhost conf.d]# cat default.conf server { listen 80; server_name wiki.linuxsa.org; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { proxy_pass http://192.168.88.52:88; #root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} }
Memcached
安装过程会提示缓存软件为memcached
trouble
mysql8 err
[df278b0f908ad5e5f2653f4e] /mw-config/index.php?page=Install Wikimedia\Rdbms\DBQueryError from line 1506 of /var/www/html/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? Query: CREATE DATABASE `my_wiki`CHARACTER SET utf8 Function: MysqlInstaller::setupDatabase Error: 1044 Access denied for user 'evan'@'%' to database 'my_wiki' (192.168.88.21) Backtrace: #0 /var/www/html/includes/libs/rdbms/database/Database.php(1476): Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, string) #1 /var/www/html/includes/libs/rdbms/database/Database.php(1236): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean) #2 /var/www/html/includes/installer/MysqlInstaller.php(491): Wikimedia\Rdbms\Database->query(string, string) #3 /var/www/html/includes/installer/Installer.php(1601): MysqlInstaller->setupDatabase(MysqlInstaller) #4 /var/www/html/includes/installer/WebInstallerInstall.php(44): Installer->performInstallation(array, array) #5 /var/www/html/includes/installer/WebInstaller.php(272): WebInstallerInstall->execute() #6 /var/www/html/mw-config/index.php(79): WebInstaller->execute(array) #7 /var/www/html/mw-config/index.php(38): wfInstallerMain() #8 {main}
see also
https://www.mediawiki.org/wiki/Comparison_of_distribution_options