目的
在Ubuntu 18.04 Bionic Beaver上使用MariaDB安装和配置基本的LAMP服务器。
发行版
Ubuntu 18.04
要求
具有root特权的Ubuntu 18.04的有效安装
困难
介质
约定
介绍
LAMP堆栈很容易成为世界上最受欢迎的Web服务器堆栈之一,这并不新鲜。 LAMP在相当长的一段时间内一直为互联网的很大一部分提供动力。
如果您是开放源代码的纯粹主义者,或者只是不关心Oracle作为一家公司(许多Linux用户并不关心),则可以选择在Ubuntu上使用MariaDB而不是传统的MySQL来安装LAMP服务器。 MariaDB是几年前从MySQL派生的开源drop-in替代品。对于要避免使用Oracle的开源数据库的LAMP设置,这是一个极好的解决方案。
安装
在开始之前,您需要安装一切以使Apache,MySQL和PHP正常工作。没有很多软件包,但是它们都很重要。
$ sudo apt install libapache2-mod-php php-mysql mysql-server apache2 php-curl php-xmlrpc php-intl php-gd
在安装过程中,系统将提示您创建数据库的根用户。选择一个强而易记的密码。
数据库设置
现在,您可以登录到新创建的数据库。
$ mysql -u root -p
输入您在安装过程中设置的密码。您将进入MySQL控制台。您可以从那里完成所需的一切。首先,创建您的实际数据库。
mysql> CREATE DATABASE `bionic_lamp`;
然后,定期使用它来运行数据库。
mysql> CREATE USER `site_admin`@`localhost` IDENTIFIED BY 'your_password';
最后,为新用户授予实际使用数据库的权限。
mysql> GRANT ALL ON bionic_lamp.* TO `site_admin`@`localhost`;
完成后,刷新特权并退出控制台。
mysql> FLUSH PRIVILEGES;
mysql> exit;
Apache安装程序
Apache开箱即用,但并非如此。如果您想对它做任何有意义的事情,则需要做一些配置。该配置将设置虚拟主机,使您可以从self-contained目录运行多个站点。
首先,将Apache随附的默认配置文件复制到您的站点的新配置中。
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/your-site.com.conf
然后,使用sudo
和您首选的文本编辑器。实际上,您只需要对其进行几处更改。
首次打开文件时,您会注意到VirtualHost
用端口号阻止。如果要在其他端口上运行,请更改该数字。否则,保持不变。
看看下面。改变DocumentRoot
行以匹配您网站的位置。最好执行类似以下示例的操作。
DocumentRoot /var/www/html/your-site.com/public_html
接下来,为您的服务器名称创建一个条目。这是Apache将与您的站点关联的URL。如果您在本地运行,localhost
没关系。否则,请使用基本网址。
ServerName your-site.com
如果您想让Apache收听www
同样,您可以创建一个别名来告诉Apache它与服务器名称相同。
ServerAlias www.your-site.com
完成后,保存并退出。接下来,实际创建您为Apache指定的目录可能是一个好主意。
$ sudo mkdir -p /var/www/html/your-site.com/{public_html,logs}
您需要做的最后一件事是启用配置并禁用默认设置。首先启用您的。
$ sudo a2ensite your-site.com.conf
禁用默认值。
$ sudo a2dissite 000-default.conf
重新加载Apache配置以使更改生效。
$ sudo systemctl reload apache2
测试中
默认情况下,Apache在您的文档目录中查找索引文件。在以下位置创建文件/var/www/html/your-site.conf/public_html
叫index.php
。将以下PHP代码块放入文件中,以测试Apache是否成功解释了PHP,以及它是否可以成功连接到您设置的MySQL数据库。
<?php echo '<h1>Page loaded with PHP!</h1>';
$conn = mysqli_connect('localhost', 'site_admin', 'your_password');
if(!$conn){
die('<h2>Error: </h2>' . mysqli_connect_error());
}else{
echo '<h2>Successfully Connected to MySQL Database!</h2>';
}
?>
使用Web浏览器导航到您在配置中设置的地址。使用localhost
可以轻松地进行测试,因此,如果您没有这样做并且遇到了问题,那么如果您在本地工作,可以考虑这样做。
您应该看到一个纯白色的页面,其中包含您告诉PHP回显的文本。如果正确配置了所有内容,您将收到有关PHP能够连接到数据库的成功消息。
总结思想
到目前为止,您已经具有功能齐全的LAMP服务器。没什么花哨的,在托管生产中的任何东西之前,您应该考虑安全性的改进,但是它对于托管从简单的PHP网站到完整的基于PHP的Web应用程序的所有内容都非常有效。