Debian 8 安裝 LAMP 環境 - 使用 Apache+MariaDB+PHP7

PHP 經過多年的發展現在終於來到了 PHP 7,而其效能也比現在的 PHP 5 要好上許多,因此現在安裝環境建議以 PHP 7 為主,資料庫的部分以往我們都是採用 MySQL 不過因為被甲骨文收購後越來越封閉,原本 MySQL 開發者就跳出來做 MariaDB 這跟 MySQL 是完全相容的,所以目前 LAMP 安裝都漸漸的採用 MariaDB 來當資料庫,現在我們就開始來安裝 LAMP。

一、安裝 Apache

先檢查系統更新並更新系統
sudo apt-get update && sudo apt-get upgrade

安裝 Apache
sudo apt-get install apache2

編輯設定檔(非必要)
nano /etc/apache2/apache2.conf


尋找 KeepAlive

設定 KeepAlive Off

尋找 /var/www

設定 AllowOverride All

模組設定
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo a2enmod rewrite

重新啟動 Apache
sudo systemctl restart apache2

建立網站密碼檔(非必要但建議設定)
htpasswd -c /var/www/apache.passwd username

取消載入預設網站(非必要)
sudo a2dissite 000-default.conf

沒有取消的話 /var/www/html 這個資料夾會被預設執行,如果你之後是建立多個虛擬網站,而沒有一個網站是放在這個目錄下的話,直接在網址打 IP 同樣會連到此目錄。
建立虛擬網站目錄
sudo mkdir -p /var/www/html/example.com/public_html
sudo mkdir /var/www/html/example.com/logs

編輯網站設定檔
nano /etc/apache2/sites-available/example.com.conf

設定檔內容

<VirtualHost *:80> 
     ServerAdmin webmaster@example.com
     ServerName example.com
     ServerAlias www.example.com
     DocumentRoot /var/www/html/example.com/public_html/
     ErrorLog /var/www/html/example.com/logs/error.log 
     CustomLog /var/www/html/example.com/logs/access.log combined
</VirtualHost>

如果要同時建立其他網站就再多建立幾個其他網站的設定檔
載入虛擬網站設定檔
sudo a2ensite example.com.conf

有幾個網站設定檔就載入幾個,如果要移除設定檔的話語法請參考取消載入預設網站的步驟。

重新啟動 Apache
sudo systemctl restart apache2

二、安裝 MariaDB

安裝 MariaDB 主程式
sudo apt-get install mariadb-server mariadb-client

安裝安全腳本
sudo mysql_secure_installation

登入資料庫
mysql -u root -p

建立資料庫
create database webdata;


這邊建立的資料庫連線編碼與排序預設是 latin 的,要改 utf8 請後自行更改。

建立使用者並授權
grant all on webdata.* to 'username' identified by 'password';

退出資料庫
quit

三、安裝 PHP 7

編輯來源檔列表清單
nano /etc/apt/sources.list

在最後面加上下面兩行

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

下載並安裝 GnuPG key
wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg

更新安裝來源的索引
sudo apt-get update

安裝 PHP 7 以及相關擴充
sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl libapache2-mod-php7.0 php-pear

PHP 7 相關擴充列表

php7.0-apcu       php7.0-dbg        php7.0-imagick    
php7.0-memcached  php7.0-phpdbg     php7.0-sybase
php7.0-apcu-bc    php7.0-dev        php7.0-imap       
php7.0-mongodb    php7.0-pspell     php7.0-tidy
php7.0-bz2        php7.0-enchant    php7.0-interbase  
php7.0-msgpack    php7.0-readline   php7.0-xdebug
php7.0-cgi        php7.0-fpm        php7.0-intl       
php7.0-mysql      php7.0-recode     php7.0-xmlrpc
php7.0-cli        php7.0-gd         php7.0-json       
php7.0-odbc       php7.0-redis      php7.0-xsl
php7.0-common     php7.0-gmp        php7.0-ldap       
php7.0-opcache    php7.0-snmp       php7.0-curl       
php7.0-igbinary   php7.0-mcrypt     php7.0-pgsql      
php7.0-sqlite3

啟用 Apache 的 PHP 7 模組
sudo a2enmod php7.0

PHP 7 設定檔位在 /etc/php/7.0/apache2/php.ini,如要調整上傳檔案大小設定請自行更改下面兩個預設值。

預設:post_max_size = 8M

預設:upload_max_filesize = 2M

重新啟動 Apache
sudo systemctl restart apache2


到這邊整個 Debian 8 的 LAMP 環境已經安裝完成,你可以上傳一個 PHP 檔案測試看看

建立 info.php 內容如下

<?php
phpinfo();
?>

將 info.php 上傳到網站開啟後就可以看到 PHP 7 的相關設定資訊內容了。

如果你想要安裝 phpMyAdmin 來管理你的資料庫可以參考這篇文章 Debian 8 安裝 phpMyAdmin 管理你的資料庫

上一篇文章
下一篇文章

歡迎來到茂銓的網路記事本,這邊主要記錄著個人的一些體驗以及心得分享。

0 意見: