Ubuntu 15.10 LAMP服务器教程,使用Apache 2.4,PHP 5和MariaDB(而不是MySQL)

LAMP是Linux,Apache,MySQL,PHP的缩写。本教程将介绍如何在带有PHP 5的Ubuntu 15.10服务器上安装Apache 2.4 Web服务器。

Ubuntu 15.10 LAMP服务器教程与Apache 2.4,PHP 5和MariaDB(而不是MySQL)

LAMP是L inux, A pache, M ySQL, P HP的缩写。 本教程将介绍如何在具有PHP 5.6(mod_php)和MySQL支持的Ubuntu 15.10(Wiley Werewolf)服务器上安装Apache 2 Web服务器。 另外,我将安装PHPMyAdmin来使MySQL管理变得更简单。 LAMP设置是Joomla,Wordpress或Drupal等CMS系统的完美基础。

初步说明

在本教程中,我将使用IP地址为192.168.1.100的hostname server1.example.com 。 这些设置可能会有所不同,因此您必须在适当的情况下更换它们。

我建议使用最小的Ubuntu服务器设置作为教程的基础,可以是虚拟或根服务器映像,使用Ubuntu 15.10从Web托管公司进行的最小安装,或者您使用我们的最小服务器教程从头开始安装服务器。

我使用root权限运行本教程中的所有步骤,因此请确保以root用户身份登录:

sudo su

安装MariaDB作为MySQL替换

我们将安装MariaDB而不是MySQL。 MariaDB是由MySQL开发人员Monty Widenius维护的MySQL fork。 与MySQL相比,MariaDB与MySQL兼容,并提供了有趣的新功能和速度改进。 运行以下命令来安装MariaDB-server和client:

apt-get -y install mariadb-server mariadb-client

现在我们为MariaDB设置了一个root密码。

mysql_secure_installation

你会被问到这些问题:

Enter current password for root (enter for none): <-- press 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

使用“mysql命令”测试登录到MariaDB

mysql -u root -p

并输入您上面设置的MariaDB root密码。 结果应该类似于下面的截图:

在shell上测试MariaDB登录。

要离开MariaDB shell,请输入命令“quit”,然后按Enter键。

安装Apache 2.4

Apache 2作为Ubuntu软件包可用,因此我们可以这样安装:

apt-get -y install apache2

现在直接浏览器到http://192.168.1.100 ,你应该看到Apache2的默认页面( 它可以工作! ):

Apache 2.4默认页面。

apache默认vhost的文档根目录是Ubuntu上的/ var / www / html ,主配置文件是/etc/apache2/apache2.conf配置系统是   完全记录在/usr/share/doc/apache2/README.Debian.gz中

安装PHP 5.6

我们可以安装PHP 5.6和Apache PHP模块,如下所示:

apt-get -y install php5 libapache2-mod-php5

然后重新启动Apache:

systemctl restart apache2

测试PHP并获取有关您的PHP安装的详细信息

默认网站的文档根目录是/ var / www / html 。 我们现在将在该目录中创建一个小型的PHP文件( info.php ),并在浏览器中调用它。 该文件将显示有关我们的PHP安装的许多有用的细节,例如安装的PHP版本。

nano /var/www/html/info.php

<?php
phpinfo();
?>

然后将info.php文件的所有者更改为www数据用户和组。

chown www-data:www-data /var/www/html/info.php

现在我们在浏览器中调用该文件(例如http://192.168.1.100/info.php ):

PHP 5.6 phpinfo屏幕。

如您所见,PHP5正在工作,它正在通过Apache 2.0处理程序 ,如Server API行所示。 如果您进一步向下滚动,您将看到在PHP5中已启用的所有模块。 MySQL没有列出,这意味着我们还没有在PHP中支持MySQL / MariaDB。

在PHP中获取MySQL / MariaDB支持

要在PHP中获得MySQL支持,我们可以安装php5-mysqlnd包。 我将安装新的MySQL驱动程序包php5-mysqlnd,而不是旧的php5-mysql软件包,因为旧驱动程序显示与MariaDB一起使用时的MySQL库版本不匹配的错误消息。 安装一些其他PHP5模块是一个好主意,您可能需要它们用于应用程序。 您可以搜索可用的PHP5模块,如下所示:

apt-cache search php5

选择您需要的并安装它们:

apt-get -y install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

现在重新启动Apache2:

systemctl restart apache2

安装APCu PHP缓存以加速PHP

APCu是一个免费的PHP操作码,用于缓存和优化PHP中间代码。 强烈建议您安装其中一个以加快您的PHP页面。

APCu可以安装如下:

apt-get install php5-apcu

现在重新启动Apache:

systemctl restart apache2

现在在您的浏览器中重新加载http://192.168.1.100/info.php并再次向下滚动到模块部分。 你现在应该在那里找到很多新的模块:

APCu在PHP 5.6。

请不要忘记删除info.php文件,当您不再需要它,因为它提供敏感的服务器的详细信息。 运行以下命令删除文件。

rm -f /var/www/html/info.php

以apache启用SSL网站

SSL / TLS是加密Web浏览器和服务器之间连接的安全层。 在您的服务器上执行以下命令以启用https://支持。 跑:

a2enmod ssl
a2ensite 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连接警告。

您将收到SSL警告,因为服务器的ssl证书是“自签名”ssl证书,这意味着默认情况下浏览器不信任此证书,您必须首先接受安全警告。 接受警告后,您将看到apache的默认页面。

Apache 2.4默认页面在SSL模式下。

浏览器中的URL前面关闭的“绿色锁定”显示连接已加密。 为了摆脱SSL警告,请从SSL Authority中使用正式签名的SSL证书替换自签名SSL证书/etc/ssl/certs/ssl-cert-snakeoil.pem。

安装phpMyAdmin

phpMyAdmin是一个Web界面,您可以通过它来管理MySQL数据库。 安装它是个好主意:

apt-get -y install phpmyadmin

您将看到以下问题:

Web server to configure automatically: <-- Select the option: apache2
Configure database for phpmyadmin with dbconfig-common? <-- Yes
Password of the database's administrative user: <-- Enter the MariaDB root password
MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.
Web server to reconfigure automatically: <-- apache2

这里的答案顺序为截图:

PHPMyAdmin安装 - 第1步

PHPMyAdmin安装 - 第2步

PHPMyAdmin安装 - 第3步

PHPMyAdmin安装 - 第4步

默认情况下,MariaDB为root用户启用了一个名为“unix_socket”的插件,该插件可防止root用户登录到PHPMyAdmin,并且到MySQL的TCP连接正在为root用户工作。 因此,我将使用以下命令停用该插件:

echo "update user set plugin='' where User='root'; flush privileges;" | mysql --defaults-file=/etc/mysql/debian.cnf mysql

之后,您可以访问http://192.168.1.100/phpmyadmin/下的phpMyAdmin

PHPMyAdmin安装 - 登录。

PHPMyAdmin安装 - 索引页。