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密码。 结果应该类似于下面的截图:
要离开MariaDB shell,请输入命令“quit”,然后按Enter键。
安装Apache 2.4
Apache 2作为Ubuntu软件包可用,因此我们可以这样安装:
apt-get -y install apache2
现在直接浏览器到http://192.168.1.100
,你应该看到Apache2的默认页面( 它可以工作!
):
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
):
如您所见,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
并再次向下滚动到模块部分。 你现在应该在那里找到很多新的模块:
请不要忘记删除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证书,这意味着默认情况下浏览器不信任此证书,您必须首先接受安全警告。 接受警告后,您将看到apache的默认页面。
浏览器中的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
这里的答案顺序为截图:
默认情况下,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
:
链接
- Apache: http : //httpd.apache.org/
- PHP: http : //www.php.net/
- MySQL: http : //www.mysql.com/
- MariaDB: https : //mariadb.com/
- Ubuntu: http : //www.ubuntu.com/
- phpMyAdmin: http : //www.phpmyadmin.net/