標籤:install 運行 使用 handler 分支 shell select 頁面 apt-get
翻譯自:https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/
昨天在虛擬機器裡面安裝ubuntu server ,然後配置php開發環境,參考了這篇文章,一次性把所有的東西都安裝配置好了,所以想把這篇文章記錄下來。希望能夠協助到初學者一次性搞定這些配置(避免糾結),然後就可以愉快地編程了,嘿嘿。
以下是我翻譯的內容,完全對照原文,沒有自己改動的部分(因為原文已經很完美了):
LAMP 是 Linux,Apache,MySQL,PHP的縮寫。本文教你如何在 ubuntu 16.04(Xenial Xerus) server 上安裝 Apache2,PHP7(mod_php)和MySQL。此外,還將安裝 PHPMyAdmin 工具用於管理 MySQL。
說明
本文中,我使用 server1.example.com 作為主機名稱,IP為:192.168.1.100。你如果跟我不同,在相應的地方替換就行了。
我推薦使用 minimal Ubuntu server 作為本文操作的基礎。
我在root許可權下運行所有的命令,所以確保你使用的是root賬戶:
sudo su
安裝 MariaDB 作為 MySQL 的替換
我安裝的是 MariaDB 而不是 MySQL。MariaDB 是 MySQL 的作者 Monty Widenius 所維護的 MySQL 分支版本。MariaDB 相容 MySQL,並且增加了功能,提高了效能。運行下面的命令來安裝 MariaDB-server 和 client:
apt-get install mariadb-server mariadb-client
然後設定 MariaDB 的 root 密碼:
mysql_secure_installation
然後,出現一些提示,按照紅色提示來操作就行了:
Enter current password for root (enter for none): <-- press enterSet root password? [Y/n] <-- yNew password: <-- Enter the new MariaDB root password hereRe-enter new password: <-- Repeat the passwordRemove anonymous users? [Y/n] <-- yDisallow root login remotely? [Y/n] <-- yReload privilege tables now? [Y/n] <-- y
使用 mysql 命令測試是否能登入 MariaDB:
mysql -u root -p
再輸入上面設定 root 密碼,就會出現如下所示:
要離開 MariaDB shell,輸入 quit 和 斷行符號鍵就行了。
安裝 Apache 2.4
Apache 2 可以直接從 Ubuntu 包中擷取,只要這樣:
apt-get install apache2
現在開啟瀏覽器,輸入 http://192.168.1.100,就能看到 Apache 2 預設頁面:
apache 預設文章根目錄是 /var/www/html,其主要設定檔為:/etc/apache2/apache2.conf。其配置系統的說明文檔在 /usr/share/doc/apache2/README.Debian.gz.
安裝 PHP 7
安裝 PHP 7 和 Apache PHP 模組:
apt-get install php7.0 libapache2-mod-php7.0
然後重啟 Apache
systemctl restart apache2
測試 PHP 獲得一些細節資訊
預設web網站的主目錄是 /var/www/html ,我在該目錄建立一個info.php檔案,然後在瀏覽器中訪問它。這個檔案能夠顯示有關PHP安裝的詳細資料。
vim /var/www/html/info.php
輸入檔案內容:
<?phpphpinfo();
改變info.php檔案的所有者為 www-data 使用者和組
chown www-data:www-data /var/www/html/info.php
現在我們可以在瀏覽器中訪問 http://192.168.1.100/info.php,結果如所示:
如你所看到的,PHP7.0 正在運行,從 Server API 行可以看出,它是通過 Apache 2.0 Handler 啟動並執行,繼續向下滾動頁面,你就看見所有已經啟用的模組。MySQL並不在其中,這是因為我們還沒有對PHP添加MySQL/MariaDB支援。
PHP 啟用 MySQL / MariaDB 支援
為了使 PHP 支援 MySQL,可以安裝 php7.0-mysql 包。同時也可以安裝其他所需要的 PHP 模組,使用下面命令來搜尋可用的 PHP 模組:
apt-cache search php7.0
選擇一些模組,安裝之:
apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext
重啟 Apache2
systemctl restart apache2
如所示,PHP已經啟用了 MySQL/MariaDB 支援。
安裝 APCu PHP 緩衝來加速 PHP 運行
APCu 是一個免費的 PHP opcode cacher 用來緩衝和最佳化 PHP 中間代碼。推薦安裝它來加速PHP速度。
安裝:
apt-get install php-apcu
重啟 Apache:
systemctl restart apache2
重新整理一下 http://192.168.1.100/info.php,看到 apcu 模組:
請刪除info.php檔案,它會顯示你伺服器的敏感資訊。運行下面的命令來刪除:
rm -f /var/www/html/info.php
啟用 Apache 的 SSL 網站支援
SSL/TLS 是一個安全層,用於加密瀏覽器與伺服器之間的串連。使用下面的命令以啟用 https:// 支援
a2enmod ssla2ensite default-ssl
這兩行命令啟用了 ssl 模組,並在 /etc/apache2/sites-enabled 檔案夾中添加了 /etc/apache2/sites-available/default-ssl.conf 的連結,以將其包括到apache 配置之中。然後重啟apache來啟用新配置:
systemctl restart apache2
現在瀏覽器開啟 https://192.168.1.100,看到:
你看到了一個 SSL 警告:該伺服器的 SSL 憑證 是 “自己頒發給自己的”,這表示瀏覽器不信任該認證,所以你必須先接受安全警告,然後才能開啟apache 預設頁面:
瀏覽器地址欄URL前面的 “綠色的鎖”表明串連是經過加密的。要想解除 SSL 警告,可以從 SSL 憑證頒發機構獲得一個官方簽名的SSL認證,然後替換預設內建的認證:/etc/ssl/certs/ssl-cert-snakeoil.pem。
安裝 phpMyAdmin
通過phpMyAdmin可以操作MySQL資料庫。安裝命令:
apt-get install phpmyadmin
然後看到這些提示,按照紅色提示輸入就行了:
Web server to configure automatically: <-- Select the option: apache2Configure database for phpmyadmin with dbconfig-common? <-- YesMySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.
MariaDB 預設為root使用者啟用了“unix_socket”外掛程式,這個外掛程式會阻止root使用者登入phpmyadmin和root使用者到MySQL的TCP串連。因此,使用命令禁用了它:
echo "update user set plugin=‘‘ where User=‘root‘; flush privileges;" | mysql -u root -p mysql
然後輸入 MariaDB root 密碼。
之後,你就可以通過 http://192.168.1.100/phpmyadmin/ 來訪問:
Ubuntu 16.04 LAMP server 指南 - 配置 Apache2.4,PHP7,和MariaDB(而不是MySQL)