這篇要跟大家分享如何在CentOS7當中架設網站伺服器(Apache + PHP7 + MariaDB )[LAMP],為了方便測試我們用VirtualBox來模擬。
若還不知道如何使用VirualBox或者是安裝CentOS7的讀者,可以先閱讀以下兩篇:
安裝Apache
升級更新yum
更新 yum 套件,輸入以下指令:
sudo yum update
會出現如下圖,問您是否要更新。輸入 Y 並按下[ Enter ]
然後系統會先去抓升級檔,完成後有可能會出現以下訊息,問您是否要升級。一樣輸入 Y 並按下[ Enter ]
等一小段時間後,會出現 Complete! 字樣。表示已升級完畢!!
安裝Apache
輸入以下指令,開始安裝apache
sudo yum install httpd
相同地它也會問您是否要安裝。一樣輸入 Y 並按下[ Enter ]
等一小段時間後,會出現 Complete! 字樣。表示已升級完畢!!
啟動Apache
sudo systemctl start httpd.service
設定Apache,隨CentOS開機自動啟動
sudo systemctl enable httpd.service
到這邊Apache就安裝完成了。我們可以用以下指令查看Apache的狀態
systemctl status httpd.service
會出現下圖,Active: active(running) 表示 Apache 運作中
安裝MariaDB
這部份我們要來安裝mariadb。其實,mariadb跟MySQL算是一樣的東西。都是MySQL的開發者開發的,只是他將原本的MySQL賣給甲骨文後,又建立一個免費的mariadb(完全相容於MySQL)。至於為何要改用mariadb呢??原因是MySQL賣給甲骨文後有可能未來會變成商業軟體,且mariadb據說速度也比MySQL快一些。扯遠了,回歸正題讓我們在CentOS上安裝MariaDB吧!!
sudo yum install mariadb-server mariadb
還是跟上面一樣,依然會詢問您是否要安裝。一樣輸入 Y 並按下[ Enter ]
等一段時間後,會出現 Complete! 字樣。
啟動MariaDB
sudo systemctl start mariadb
設定初始化MariaDB
sudo mysql_secure_installation
輸入後,它會開始問您一系列的問題!! 首先,它會要求您輸入root的密碼
但我們根本沒有設定過,所以直接按下[enter]就好
設定root密碼
接下來,它會問您是否要設定root
密碼。(建議:選擇 Y ,設定root密碼)
設定root密碼。請務必記住!! (要輸入兩次)
註:輸入密碼並不會顯示 * 或其他訊息。所以不要以為是自己鍵盤壞了 !!
刪除匿名使用者
此部分它問您是否要移除匿名使用者(anonymous users)。MariaDB預設是允許任何人都可以登入MariaDB且不需密碼的,移除匿名使用者後就變成需要有帳號和密碼才可以訪問MariaDB。
一般情況下,我們不太可能會希望任何人都可以訪問我們的資料庫,所以此部分選擇 Y ,刪除匿名使用者。
禁止遠端root登入
root帳號擁有至高的權限,因此基於安全性考量,通常不允許遠端登入使用root登入。也就是說將root限制成只能在localhost本地端才可登入。
刪除Test測試資料庫
MariaDB預設會建立一個Test的資料庫。此部分問您是否要將它刪除。(刪掉吧~~留著也沒用....)
重新載入權限表
到這邊我們就完成MariaDB的初始化設定了!!
自動啟動MariaDB
如果我們要讓MariaDB,隨著CentOS啟動時自動啟動的話,輸入以下指令:
sudo systemctl enable mariadb.service
安裝php7
這個部分我們將要安裝PHP7,若要裝PHP5版的話,就請自行Google一番吧(網路上應該有很多)
安裝epel-release
這算是一個附加軟體包
yum install epel-release
一樣輸入 Y 並按下[ Enter ] 。(這就不用我再多說了吧 哈哈)
接著執行此段,這樣我們才有辦法安裝PHP7
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安裝PHP7
輸入以下指令,開始安裝PHP7
sudo yum install php70w
嗯...它又來問是否要繼續安裝(下載)了
再次確認問您是否要安裝
再等一小段時間後,便會看到 Complete! 字樣 。 YA 總算安裝完成了,但還沒完還有後續呢...
測試PHP
可以透過這個指令來測試我們安裝的PHP:
php -v
安裝PHP擴充模組
下面將會安裝一些PHP常會用到的擴充模組,若沒有需求此部分可跳過
yum install php70w-xml php70w-soap php70w-xmlrpc
yum install php70w-mbstring php70w-json php70w-gd php70w-mcrypt
安裝完以後,可以透過以下指令查看目前可用的擴充模組
yum search php70
測試網站
在前面我們已經順利將 Apache 、 PHP 、 MariaDB 安裝完成。現在我們可以開始測試網站伺服器是否有架設成功。
查詢ip
要訪問我們的測試網站,首先我們需要先知道自己的ip,我們可以透過以下指令得知
sudo ip addr show
在正式環境下我們應該會看到 eth0 的裝置,但虛擬機下應該只會看到 enp0s3 裝置。
且此裝置的ip是一個很奇怪的ip ( 10.0.2.15 ) ,我們在實體主機的瀏覽器下輸入這個ip,會發現是沒有用處的!!
這時我們要修改我們的虛擬機網路設定
點選虛擬機
->設定值
->網路
->點選附加到橋接介面卡
>確定
重新啟動系統
修改完設定後,我們需要重新啟動CentOS,才會有變化。輸入以下指令,重新啟動:
reboot
重新查詢虛擬機ip
接下來,我們再次查詢虛擬機的ip,會發現到enp0s3
這個的ip已經變成正常的區域網路ip了
訪問測試網站
現在我們可以用實體主機開啟瀏覽器,輸入上圖ip造訪測試網站。這時你有可能會有兩個結果~~
一個是出現下圖畫面,恭喜你成功了!! 但請檢察一下,是否是因為沒有裝防火牆
安裝防火牆
yum install firewalld
啟動防火牆
systemctl enable firewalld
systemctl start firewalld
查看防火牆狀態
systemctl status firewalld
但您有可能會有很大的機率是看到錯誤畫面。一般來說都是因為被防火牆給擋住了,所以我們必須設定防火牆。
設定防火牆,開啟80port端口
輸入以下指令,開啟80端口 :
firewall-cmd --zone=public --add-port=80/tcp --permanent
重新啟動防火牆
firewall-cmd --reload
再次造訪測試網站,應該就可以正常訪問了。
安裝phpMyAdmin
phpMyAdmin算是最常見的MySQL管理工具了。
sudo yum install phpMyAdmin
它還是會問您要不要安裝(下載),選擇 Y 就對了!!
然後它還會再問您一次要不要安裝,依然選擇 Y
接著我們用實體電腦輸入 測試網站的ip + phpMyAdmin 會發現進不去
http://192.168.11.105/phpMyAdmin
原因是因為,phpMyAdmin預設只允許透過本地登入(localhost),所以我們需要修改一下設定
sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
我們會透過vi文字編輯器進入到phpMyAdmin.conf文件內 (如下圖)
但剛開始進入,只能瀏覽文件,無法修改。我們需要按一下鍵盤的 「i」 鍵,會出現 -- INSERT --
這時我們就可以編輯此文件了!! ( 自己也研究了好久... 不會用vi 阿~~)
移動光標,到下圖位置。將require ip 127.0.0.1
和 require ip :: 1
前面加上 「#」,並在下面加上
require all granted
接著,按下鍵盤「ESC」,在輸入「:wq 」後,在按下 enter 就可以存檔並退出了
瀏覽器前往phpMyAdmin
當我們再次前往 http:// ip位置 /phpMyAdmin 便可以成功進入了
但一般正式環境還是希望能將它限制在只允許本地端ip登入。
其它配置
Apache配置
進入到apache配置文件
sudo vi /etc/httpd/conf/httpd.conf
允許.htaccess
找到 <directory "/var/www/html" >
,附近有 AllowOverride None
改成 AllowOverride All
修改完以後,一樣 按下鍵盤「ESC」,在輸入「:wq 」後,在按下 enter 就可以存檔並退出了
註: Linux 可以使用 「Shift + Pg Up 」和 「Shift + Pg Dn 」 向上瀏覽或向下瀏覽
PHP配置
進入到php配置文件
sudo vi /etc/php.ini
允許短標籤
將short_open_tag
改成 On
其它詳細配置改天再說吧~~
修改完配置並存檔後,接著要重新啟動 Appache 和 MariaDB
重新啟動 Appache
systemctl restart httpd.service
重新啟動 MariaDB
systemctl restart mariadb.service
測試PHP
讓我們在網站伺服器內建立一個新的文件,測試PHP腳本運作
切換到網站目錄
cd /var/www/html
建立新文件 test.php
sudo vi test.php
輸入 hello world
或 phpinfo()
或其它內容,當作測試。
修改完以後,一樣 按下鍵盤「ESC」,在輸入「:wq 」後,在按下 enter 就可以存檔並退出
瀏覽器訪問測試網站
http:// ip位置 /test.php
測試成功 !!
文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)
原文連結:
https://blog.aidec.tw/post/virtualbox-install-lamp-with-centos-php7-mariadb
若有業務合作需求,可寫信至: opweb666@gmail.com
創業、網站經營相關內容未來將發布在 小易創業筆記