建立LAMP快速簡單 - Install Lamp with centos-php7

作者 Jason Chuang 日期 2019-06-28
建立LAMP快速簡單 - Install Lamp with centos-php7

之前在寫PHP時,都是使用linux做開發,想當然最基本的就是需要一個開發環境。
所以在做筆記就順便寫了一份如何快速安裝的方法,這邊就一步一步往下看來安裝吧。

Quick Start

你需要先有一個乾淨的linux環境,我是使用vvmware workstation 來掛載安裝一套centos,如何安裝這裡就不詳細說明

Step 1

更新 yum 套件,輸入以下指令:

$ sudo yum update

會出現如下圖。輸入 Y 並按下[ Enter ]

此動作是為了確保yum安裝皆能安裝上最新的套件,若有定期更新者可以略過

Step 2

安裝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

Step 3

安裝MariaDB

這部份我們要來安裝mariadb。其實,mariadb跟MySQL算是一樣的東西。都是MySQL的開發者開發的。

$ 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密碼。 需要重複確認

刪除匿名使用者
一般情況下,我們不太可能會希望任何人都可以訪問我們的資料庫,所以此部分選擇 Y ,刪除匿名使用者。

禁止遠端root登入
root帳號擁有至高的權限,因此基於安全性考量,通常不允許遠端登入使用root登入。

刪除Test測試資料庫

重新載入權限表

到這邊我們就完成MariaDB的初始化設定

自動啟動MariaDB

$ sudo systemctl enable mariadb.service

Step 4

安裝epel-release

安裝epel-release
這算是一個附加軟體包

$ yum install epel-release

一樣輸入 Y 並按下[ Enter ] 。

接著執行此段,這樣我們才有辦法安裝PHP7

$ rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安裝PHP7

$ sudo yum install php70w

再等一小段時間後,便會看到 Complete! 字樣。

測試PHP

可以透過這個指令來測試我們安裝的PHP:

$ php -v

安裝PHP擴充模組

下面將會安裝一些PHP常會用到的擴充模組,若沒有需求此部分可跳過

$ yum install php70w-mbstring php70w-json php70w-gd php70w-mcrypt

這邊是我會用到的擴充模組,若沒有使用到可以跳過此步驟

$ yum search php70

Step 5

測試網站

在前面我們已經順利將 Apache 、 PHP 、 MariaDB 安裝完成。現在我們可以開始測試網站伺服器是否有架設成功。

查詢ip

$ sudo ip addr show

在正式環境下我們應該會看到 eth0 的裝置,但虛擬機下應該只會看到 enp0s3 裝置。

且此裝置的ip是一個很奇怪的ip ( 10.0.2.15 ) ,我們在實體主機的瀏覽器下輸入這個ip,會發現是沒有用處的!!

這時我們要修改我們的虛擬機網路設定

點選虛擬機->設定值->網路->點選附加到橋接介面卡>確定

重新啟動系統

。輸入以下指令,重新啟動:

$ reboot

重新查詢虛擬機ip

$ sudo ip addr show

接下來,我們再次查詢虛擬機的ip,會發現到enp0s3這個的ip已經變成正常的區域網路ip了

Step 6

訪問測試網站

現在我們可以用實體主機開啟瀏覽器,輸入上圖ip造訪測試網站。

一個是出現下圖畫面,恭喜你成功了
如果沒有看來可能是沒有啟動防火牆

安裝防火牆

$ yum install firewalld

啟動防火牆

$ systemctl start firewalld

查看防火牆狀態

$ systemctl status firewalld

但您有可能會有很大的機率是看到錯誤畫面。一般來說都是因為被防火牆給擋住了,所以我們必須設定防火牆。

我在這裡是直接將防火牆給關閉了,因為是自己用的環境麻~

$ systemctl stop firewalld
$ systemctl disable firewalld

重新啟動防火牆

$ firewall-cmd --reload

再次造訪測試網站,應該就可以正常訪問了。

安裝phpMyAdmin

phpMyAdmin算是最常見的MySQL管理工具了。

$ sudo yum install phpMyAdmin

接著我們用實體電腦輸入 測試網站的ip + phpMyAdmin 會發現進不去

http://192.168.1.0/phpMyAdmin

原因是因為,phpMyAdmin預設只允許透過本地登入(localhost),所以我們需要修改一下設定

$ sudo vim /etc/httpd/conf.d/phpMyAdmin.conf

我們會透過vim文字編輯器進入到phpMyAdmin.conf文件內 (如下圖)

移動光標,到下圖位置。將require ip 127.0.0.1 和 require ip :: 1 前面加上 「#」,並在下面加上

require all granted

輸入「:wq 」後,在按下 enter 就可以存檔並退出了

瀏覽器前往phpMyAdmin
當我們再次前往 http:// “ip位置” /phpMyAdmin 便可以成功進入了

Apache配置

$ sudo vim /etc/httpd/conf/httpd.conf

允許.htaccess
找到 <directory “/var/www/html” > ,附近有 AllowOverride None 改成 AllowOverride All

PHP配置

進入到php配置文件

$ sudo vim /etc/php.ini

允許短標籤
將short_open_tag 改成 On

接著要重新啟動 Appache 和 MariaDB

重新啟動 Appache

$ systemctl restart httpd.service

重新啟動 MariaDB

$ systemctl restart mariadb.service

測試PHP

讓我們在網站伺服器內建立一個新的文件

切換到網站目錄

$ cd /var/www/html

建立新文件 test.php

$ sudo vi test.php

輸入 hello world 或 phpinfo() 或其它內容

瀏覽器訪問測試網站
http:// “ip位置” /test.php

測試成功 !!