Ubuntu 16.04 LTS Xenial Xerus官方自帶PHP7,所以我們就不需要再藉助第三方PPA來安裝PHP7了。這篇介紹Ubuntu 16.04 LTS如何安裝Apache, MariaDB和PHP7及phpMyAdmin。
第一步:升級系統
在安裝軟體之前,更新一下軟體並升級Ubuntu 總是有好處的。SSH登錄Ubuntu服務器,然後輸入下面的命令
(先切換至root)
1 |
sudo su |
升級
1 2 3 4 5 |
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade |
第二步:更改主機時間
1 |
date |
使用 ntpdate 修改為台灣時間
1 2 |
apt-get install -y ntpdate ntp ntpdate time.stdtime.gov.tw |
若出現 the NTP socket is in use, exiting,代表不是系統時間校正的問題,所以設定時區為台北。
1 |
dpkg-reconfigure tzdata |
選擇 Asia –> 選擇 Taipei。
第三步:安裝Apache
1 |
sudo apt-get install apache2 |
安裝完成後,Apache會自動啟動,可以用systemctl來查看Apache的狀態 (或可直接輸入 http://loclahost_ip 有預設首頁代表安裝成功)
1 |
systemctl status apache2 |
1 2 3 4 5 |
● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: <span style="color: #339966;">active (running)</span> since Wed 2016-04-20 18:32:57 EDT; 32s ag |
如果Apache沒有運行,使用systemctl來啟動他
1 |
sudo systemctl start apache2 |
再設置Apache開機自動啟動
1 |
sudo systemctl enable apache2 |
接著啟用 mod_reswite 功能,讓伺服器可以讀取 .htaccess
1 2 |
a2enmod rewrite service apache2 restart |
第四步:安裝MariaDB
MariaDB的是MySQL的的分支,與MySQL的高度兼容,幾乎所有的命令都一樣。MariaDB是由前的MySQL的開發人員離開後開發的,目的是為了防止甲骨文公司將MySQL的變成一個閉源產品。很多的Linux 發行版(Arch Linux)以及大公司都遷移到了MariaDB。所以~我們也來安裝MariaDB吧。
1 |
sudo apt-get install mariadb-server mariadb-client |
安裝完成,MariaDB會自動啟動,使用systemctl來確認他的狀況
1 |
systemctl status mysql |
1 2 3 4 |
● mysql.service - LSB: Start and stop the mysql database server daemon Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled) Active: <strong><span style="color: #339966;">active (running)</span></strong> since Wed 2016-04-20 18:52:01 EDT; 1min 30s ago Docs: man:systemd-sysv-generator(8) |
如果沒有啟動的話,使用systemctl start來啟動MariaDB
1 |
sudo systemctl start mysql |
設置MariaDB開機自動啟動
1 |
sudo systemctl enable mysql |
安裝MariaDB
1 |
mysql_secure_installation |
回答一些問題
1 2 3 4 5 6 7 |
Enter current password for root (enter for none): <– 按 enter Set root password? [Y/n] <– y New password: <– Enter the new MariaDB root password here Re-enter new password: <– Repeat the password Remove anonymous users? [Y/n] <– y Disallow root login remotely? [Y/n] <– y Reload privilege tables now? [Y/n] <– y |
測試可否登入
1 |
mysql -u root -p |
登入後修改 MaraiDB 時區為台北(+8:00)
查看時間與時區
1 2 |
select now(); show variables like "%time_zone%"; |
修改時區
1 2 3 |
set global time_zone = '+8:00'; set time_zone = '+8:00'; flush privileges; |
參考:http://coolnull.com/4091.html
第五步:安裝PHP7
Ubuntu 16.04官方自帶PHP7,所以可以直接使用apt-get來安裝。下面的命令安裝PHP7以及常用擴展元件。
1 |
sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-mbstring php7.0-gd php7.0-json php7.0-cli php7.0-curl libapache2-mod-php7.0 |
安裝完成後,重新啟動Apache
1 2 3 |
sudo a2enmod php7.0 sudo systemctl restart apache2 |
第六步:安裝phpMyAdmin
安裝
1 |
apt-get install phpmyadmin |
安裝過程要回答一些問題 :
Web server to configure automatically: <– Select the option: apache2
Configure database for phpmyadmin with dbconfig-common? <– Yes
MySQL application password for phpmyadmin: <– Press enter
因為MaraiDB 預設不讓root登入phpmyadmin,加入以上字串即可解除
1 |
echo "update user set plugin='' where User='root'; flush privileges;" | mysql --defaults-file=/etc/mysql/debian.cnf mysql |
修改設定,將 apache 添加 phpmyadmin 設定
1 |
vim /etc/apache2/apache2.conf |
參考 在底部加入
1 2 |
# phpMyAdmin Configuration Include /etc/phpmyadmin/apache.conf |
修改後重新啟動
1 |
service apache2 restart |
網址打上 http://localhost/phpmyadmin/ 就可以看到登入畫面。若要修改進入的網址,例如 http://localhost/PA/ ,那就修改
1 |
vim /etc/phpmyadmin/apache.conf |
1 2 |
#Alias /phpmyadmin /usr/share/phpmyadmin Alias /PA /usr/share/phpmyadmin <- 改成這樣 |
參考來源:
https://www.linuxbabe.com/linux-server/install-apache-mariadb-and-php7-lamp-stack-on-ubuntu-16-04-lts
http://holmes.logdown.com/posts/734144-linux-ubuntu-install-ubuntu-1604-lamp-php7-apache2-maraidb
相關:
https://www.digitalocean.com/community/tutorials/how-to-reset-your-mysql-or-mariadb-root-password
https://stackoverflow.com/questions/36463966/when-is-flush-privileges-in-mysql-really-needed