2018年4月17日 星期二

Ubuntu 16.04上安裝LAMP

OS版本:Ubuntu 16.04
可參考DigitalOcean的教學:https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
一篇中文的文章,雖然部分內容已過時:http://www.codingstartup.com/how-to-setup-lamp-on-ubuntu/

0. 更新軟件清單

凡是在安裝任何新軟件前都應該先執行這一步,確保自己的軟件清單是最新的:

sudo apt-get update

1. 安裝Apache

sudo apt-get install apache2
安裝完畢後便可直接打開lcaolhost,看到Apache的歡迎頁面。
預設網頁目錄在/var/www/html
這時候你應該可以在有隨便一部連上網絡的電腦上打http://ServerIP/看到你的首頁。如果你本身開啟了防火牆,記得允許Apache通過。

重啟Apache:
sudo service apache2 restart

/var/www/html的預設權限是755,如果不想每次改東西都打sudo的話可以幫資料夾加上所有人都可以修改的權限:

sudo chmod o+w /var/www/html

如果要允許使用.htaccess,可以更改/etc/apache2/sites-available/000-default.conf
至於https則是更改/etc/apache2/sites-available/default-ssl.conf
在conf內加上以下代碼:(記得重啟Apache)

<Directory "/var/www/html">
    AllowOverride All
</Directory>

假如文件夾沒有index.html之類的檔案,Apache預設會顯示該資料夾下的所有檔案。如果不想給人看的話,可在.htaccess加上以下代碼:
Options -Indexes


到了正式機的時候,可以安裝SSL,這樣別人便能用https來上你的網站,確保用家和你網站之間的交流是加密的。
前幾年要安裝SSL依然是非常麻煩的,而且也要付錢,但現在已經有各種免費的SSL簽發者了,比較有名的是Let's Encrypt,安裝起來也相當簡單。不過要留意安裝SSL前必須先在Apache上設定Virtual Host(讓Apache能根據request的domain name來判斷給予哪個網頁,這樣便能在同一個伺服器上設立多個不同domain name的網站)。
教學:https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04

2. 安裝MySQL

sudo apt-get install mysql-server
中途會要求你設定root的密碼

mysql_secure_installation
幫你設定一些安全選項,但如果只是想測試可以選擇不做某些指令,例如密碼強度(Password Policy)可以選LOW,或者乾脆不安裝validate password plugin,否則每次都要打複雜的密碼只會為自己帶來麻煩

安裝完畢後可以測試一下,看MySQL是否順利地運行中:
systemctl status mysql.service

版本資訊:
mysqladmin -p -u root version

登入MySQL:
mysql -u root -p

開啟/關閉MySQL:
service mysqld start
service mysqld stop

3. 安裝PHP

請注意Ubuntu 16.04預設只能安裝PHP7,如果要PHP5請參考:

安裝PHP7:
sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
你也可以選擇安裝 php5-curl (讀取外部網站)和 php5-gd (圖像處理)

4. 安裝phpMyAdmin

在Command line執行mysql指令或者更新database或者table可能會相當麻煩,可以安裝phpMyAdmin,這樣便能直接以網頁的方式更容易管理數據庫。記得要安裝完MySQL和PHP後才安裝此項。

sudo apt-get install phpmyadmin php-mbstring php-gettext

安裝的時候會叫你選擇web server,選apache,記得按Space打勾,再按Tab和Enter。

需要啟用的php模組:(裝完後要重啟Apache)
sudo phpenmod mcrypt
sudo phpenmod mbstring

網址:localhost/phpmyadmin

記得要幫localhost/phpmyadmin加入額外一層密碼,加多一重保障。詳情可看:
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-16-04   (Step Two — Secure your phpMyAdmin Instance)

更安全的做法是只允許在本機存取,在/etc/phpmyadmin/apache.conf加上下列代碼:(可能需要重啟Apache)
Order Allow,Deny
Deny from All
Allow from localhost


沒有留言:

張貼留言