在本文中,您将学习如何通过在Ubuntu 18.04上安装Apache 2.4和MariaDB 10.3的最新稳定版本来设置最新的LAMP堆栈。
注意: Ubuntu 18.04附带了已经安装的PHP 7.2,因此我们只需要安装一些必要的软件包。
先决条件
- 最新的Ubuntu 18.04 x64服务器实例
- sudo用户。
创建一个sudo用户
首先,更新您的系统:
apt-get update -y
apt-get upgrade -y
接下来,创建一个新用户:
adduser <username>
输入并重新输入该用户的新安全密码,然后设置用户信息或将字段保留为空白,然后按ENTER以使用默认值。
将用户添加到sudo
组:
usermod -aG sudo <username>
安装Apache 2.4
安装Apache 2.4的最新稳定版本:
sudo apt-get install apache2 -y
使用以下命令确认安装并检查Apache版本:
apache2 -v
输出将类似于以下内容:
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2018-10-03T14:41:08
在生产环境中,您将要删除默认的Ubuntu Apache欢迎页面:
sudo mv /var/www/html/index.html /var/www/html/index.html.bak
为了安全起见,应防止Apache将Web根目录中的文件和目录暴露/var/www/html
给访问者:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
注意: 根据您的特定要求,您以后可以在该文件中自定义更多设置。
启动Apache服务,并使其在系统启动时启动:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
安装MariaDB 10.3
首先,安装software-properties-common
,如有必要:
sudo apt-get install software-properties-common
接下来,导入gpg键:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
添加系统apt repo:
sudo add-apt-repository 'deb [arch=amd64] http://mirror.zol.co.zw/mariadb/repo/10.3/ubuntu bionic main'
更新apt:
sudo apt update -y
现在您可以安装MariaDB:
sudo apt install -y mariadb-server mariadb-client
在安装过程中,MariaDB软件包配置向导将自动弹出,并要求您为MariaDB root
用户设置新密码。选择一个安全密码并重复输入以确认。
安装了MariaDB之后,您可以确认安装:
mysql -V
输出将类似于以下内容:
mysql Ver 15.1 Distrib 10.3.10-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
启动并启用MariaDB服务:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
确保MariaDB的安装:
sudo /usr/bin/mysql_secure_installation
第一个提示是输入您刚设置的root密码。接下来,它将询问您是否要更改密码。您可以输入n
并按ENTER,除非您想要更改密码。
在交互过程中,只需按ENTER一下默认选项,因为它们是最安全的。
MariaDB 10.3现在已安全地安装到您的系统上。将来,您也可以为Web应用程序设置指定的用户和数据库。登录到MySQL shell root
:
mysql -u root -p
出现提示时,键入您先前设置的MariaDB根密码。
创建一个MariaDB数据库webapp
,一个数据库用户webappuser
和该数据库用户的密码yourpassword
:
CREATE DATABASE webapp;
CREATE USER 'webappuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON webapp.* TO 'webappuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
如有必要,您可以通过查看和编辑主要的MariaDB配置文件来自定义MariaDB /etc/mysql/my.cnf
:
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
sudo vi /etc/mysql/my.cnf
如果您对该文件进行了任何修改,请记住重新启动MariaDB服务:
sudo systemctl restart mariadb.service
安装PHP 7.2软件包
确保在安装Apache 之后安装以下软件包:
sudo apt-get install -y php libapache2-mod-php7.2 php7.2-cli php7.2-common php7.2-mbstring php7.2-gd php7.2-intl php7.2-xml php7.2-mysql php7.2-zip
设置UFW防火墙
默认情况下,Ubuntu 18.04上的UFW防火墙处于不活动状态。您应该启用UFW防火墙以增强安全性。首先检查应用列表:
sudo ufw app list
接下来设置规则:
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
最后,启动ufw:
sudo ufw enable
恭喜,您现在已经有了一个LAMP堆栈,并且可以在Ubuntu 18.04系统上运行。现在,您可以基于LAMP堆栈部署自己的Web应用程序。
- 在Ubuntu 16.04上备份,还原或传输MySQL / MariaDB数据库
- 在Ubuntu 18.04上配置Ubuntu防火墙(UFW)
- 如何在Ubuntu 16.04上手动安装Java 8
- 在Ubuntu 16.04上安装Tomcat
- 在Ubuntu 16.04 LTS上设置Express.js Web服务器
- ubuntu上用命令安装、升级node.js
- 如何在Ubuntu 18.04 LTS上安装ExpressionEngine CMS
- 如何在两台CentOS 7服务器之间建立GRE隧道
- 使用FirewallD在CentOS 7上管理防火墙
- 使用OpenSSH进行端口转发和代理
- 在CentOS上安装Java SE
- 在 CentOS 8 上安装和配置Redis