我們已經完成了
建置 Nginx、MariaDB、PHP 7 的 LEMP Server
實作之後,有些朋友在說:我是很想換成 LEMP 架構,可是暫時還沒辦法放下 Apache 跟 MySQL。
OK!真的不難,Let's try it ~~~
話說,在 Linux 界提到 Apache 這個字,通常指的是 Web Server,其實它還出現在這些地方。
加入 MySQL 套件庫 。
sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
EPEL 套件庫。
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
還有 Webtatic 套件庫 。
(謎之音:攻城獅的爛個性又發作了,在 LEMP 沒搞定,到了實作 LAMP 還是硬要試試看。)
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
更新套件庫的快取資料,這邊同時會把預設的 MariaDB 換下來。
yum -y update
老規矩,用 yum 指令安裝。
sudo yum -y install httpd mysql-server php70w php70w-mysql
安裝過程要花一些時間。
同樣為了偉大的真 ▪ 勇者們留下 Source Code 傳送門。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
啟動 httpd,並讓它在開機後自動啟動。
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mysqld
sudo systemctl enable mysqld
如果在登入 MySQL 的時候,出現下列的錯誤訊息。
請依照下列的步驟處理。
停止 MySQL 服務。
sudo systemctl stop mysqld
加入自訂環境變數,暫時不檢查權限。
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
啟動 MySQL 服務。
sudo systemctl start mysqld
免密碼直接登入 MySQL。
mysql -u root
更新 root 的新密碼,這邊是用 P@ssw0rd ,別忘了修改成自訂密碼。
UPDATE mysql.user SET authentication_string = PASSWORD('P@ssw0rd') WHERE User = 'root' AND Host = 'localhost';
重新載入權限。
flush privileges;
退出 MySQL。
quit
停止 MySQL 服務。
sudo systemctl stop mysqld
取消自訂環境變數。
sudo systemctl unset-environment MYSQLD_OPTS
啟動 MySQL 服務。
sudo systemctl start mysqld
這樣子就可以正常登入了。
mysql -u root -p
這邊請直接依照 建置 Nginx、MariaDB、PHP 7 的 LEMP Server 的 MariaDB 設定說明,將這些安全性設定值依需求做調整。
mysql_secure_installation
sudo systemctl restart httpd
我們直接連上 Apache 來看一下,看到這個畫面就代表 OK 了。
接著,建立一個 PHP 測試檔。
sudo vi /var/www/html/info.php
呼叫內建函數。
<?php phpinfo(); ?>
就可以看到 PHP 模組啟動成功。
MySQL 的支援模組也啟動成功了。
OK!真的不難,Let's try it ~~~
話說,在 Linux 界提到 Apache 這個字,通常指的是 Web Server,其實它還出現在這些地方。
- Apache Software Foundation
Apache 軟體基金會是 Open Source 界的超級大咖,貢獻了許多舉足輕重的軟體,除了 HTTP Server 之外,像是 Hadoop、HBase、Traffic Server、Tomcat ... 等,前陣子還接收了 Open Office 到旗下。 - Apache License
他們釋出了這麼多軟體,對授權條款也非常的大方,不管是複製、改寫、甚至是商業用途都沒有問題,幾乎沒有任何的要求,只有要求明確標示作者及所有貢獻者的聲明,詳細說明請參閱:
事前準備
加入 MySQL 套件庫 。
sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
EPEL 套件庫。
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
還有 Webtatic 套件庫 。
(謎之音:攻城獅的爛個性又發作了,在 LEMP 沒搞定,到了實作 LAMP 還是硬要試試看。)
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
更新套件庫的快取資料,這邊同時會把預設的 MariaDB 換下來。
yum -y update
安裝主要套件
老規矩,用 yum 指令安裝。
sudo yum -y install httpd mysql-server php70w php70w-mysql
安裝過程要花一些時間。
同樣為了偉大的真 ▪ 勇者們留下 Source Code 傳送門。
- Apache HTTP Server 2.4.18
http://apache.stu.edu.tw//httpd/httpd-2.4.18.tar.gz - MySQL Community Server 5.7.10-1
http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-5.7.10-1.el7.src.rpm - PHP 7.0.2
http://tw1.php.net/get/php-7.0.2.tar.gz/from/this/mirror
開始設定
Apache
允許防火牆讓 HTTP、HTTPS 封包通過。sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
啟動 httpd,並讓它在開機後自動啟動。
sudo systemctl start httpd
sudo systemctl enable httpd
MySQL
啟動 MySQL Server,並讓它在開機後自動啟動。sudo systemctl start mysqld
sudo systemctl enable mysqld
如果在登入 MySQL 的時候,出現下列的錯誤訊息。
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
- Error: Access denied for user 'root'@'localhost' (using password: NO)
請依照下列的步驟處理。
停止 MySQL 服務。
sudo systemctl stop mysqld
加入自訂環境變數,暫時不檢查權限。
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
啟動 MySQL 服務。
sudo systemctl start mysqld
免密碼直接登入 MySQL。
mysql -u root
更新 root 的新密碼,這邊是用 P@ssw0rd ,別忘了修改成自訂密碼。
UPDATE mysql.user SET authentication_string = PASSWORD('P@ssw0rd') WHERE User = 'root' AND Host = 'localhost';
重新載入權限。
flush privileges;
退出 MySQL。
quit
停止 MySQL 服務。
sudo systemctl stop mysqld
取消自訂環境變數。
sudo systemctl unset-environment MYSQLD_OPTS
啟動 MySQL 服務。
sudo systemctl start mysqld
這樣子就可以正常登入了。
mysql -u root -p
這邊請直接依照 建置 Nginx、MariaDB、PHP 7 的 LEMP Server 的 MariaDB 設定說明,將這些安全性設定值依需求做調整。
mysql_secure_installation
PHP
為 Apache 加入 PHP 的支援,步驟實在超簡單,就是「什麼都不用做」,只要在裝好 PHP 之後,重新啟動 Apache 就可以了。sudo systemctl restart httpd
實際測試
我們直接連上 Apache 來看一下,看到這個畫面就代表 OK 了。
接著,建立一個 PHP 測試檔。
sudo vi /var/www/html/info.php
呼叫內建函數。
<?php phpinfo(); ?>
就可以看到 PHP 模組啟動成功。
MySQL 的支援模組也啟動成功了。