Ubuntu 16.04 LAMP server 指南 - 配置 Apache2.4,PHP7,和MariaDB(而不是MySQL)

來源:互聯網
上載者:User

標籤: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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.