在Docker使用CentOS系統安裝Apache+PHP+Mysql
(一)準備容器
下載centos的印像檔
#sudo docker pull centos
建立centos的容器,命名為abc(可以自訂名稱),為了可以執行systemd須加上--privileged,且執行/usr/sbin/init
sudo docker run -itd --privileged --name abc centos /usr/sbin/init
執行名稱為abc的容器的bash
sudo docker exec -it abc bash
(二)安裝httpd+php+mysql
安裝Apache
#yum install httpd
安裝service指令的套件與啟動Apache
#yum install initscripts
#service httpd start
查詢套件與安裝netstat指令的套件,確定80 port是否開啟
#yum provides ifconfig
#yum install net-tools
#netstat -na
開機時啟用httpd
#chkconfig httpd on
(三)安裝PHP
#yum install php
#yum install php-mysqlnd php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-pecl-zip php-json
啟用php-fpm與httpd
#service php-fpm start
#service httpd restart
開機時啟用php-fpm
#chkconfig php-fpm on
在/var/www/html/,新增檔案phpinfo.php
<?php
phpinfo()
?>
#curl http://127.0.0.1/phpinfo.php,是否看到php中所有已經啟用的模組。
(四)安裝並設定Mysql
#yum install mysql
#yum install mysql-server
#service mysqld start
更新Mysql的安全性
#mysql_secure_installation
預設開機啟用Mysql
#chkconfig mysqld on
(五)安裝phpMyAdmin
切換到網站資料夾下
#cd /var/www/html
從官方網站下載最新版phpMyAdmin
#wget https://files.phpmyadmin.net/phpMyAdmin/5.0.4/phpMyAdmin-5.0.4-all-languages.tar.gz
解壓縮
#tar -zxvf phpMyAdmin-5.0.4-all-languages.tar.gz
重新命名資料夾
#mv phpMyAdmin-5.0.4-all-languages phpMyAdmin
複製設定檔
#cp config.sample.inc.php config.inc.php
編輯設定檔
#vi config.inc.php
$cfg['blowfish_secret'] = ''
將網站https://phpsolved.com/phpmyadmin-blowfish-secret-generator/ 產生blowfish加密字串貼入上方設定。
新增.htaccess,限制使用者IP與限制瀏覽資料夾與檔案
order allow,deny
deny from All
allow from 192.168.x.x/24
Options All -Indexes
瀏覽http://127.0.0.1/phpMyAdmin/,應該可以看到登入畫面,使用Mysql帳號與密碼登入
(六)建立印像檔
#sudo docker commit 容器名稱 使用者名稱/centos:apache-php-mysql
從印像檔建立容器
#sudo docker run -it -d --privileges --name 容器名稱 -p 808:80 使用者名稱/centos:apache-php-mysql /usr/sbin/init
執行容器的bash
#sudo docker exec -it 容器名稱 bash