之前在寫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 會發現進不去
原因是因為,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
測試成功 !!