跳至内容

LAMP手动搭建的方法

发布日期:
作者:
评论数:暂无评论

本教程适用于Debian系(例如Debian、Ubuntu等),本文分四部分:

MariaDB是MySQL的一个分支,兼容MySQL,通常可以直接替代MySQL

请提前开放80和443端口再进行操作。

第一部分:LAMP手动搭建

1. 更新系统

首先,确保你的系统是最新的:

sudo apt update
sudo apt upgrade

2. 安装 Apache

sudo apt install apache2

安装完成后,可以通过访问你的服务器IP地址(例如 http://your_server_ip)来检查 Apache 是否工作。如果看到默认的 Apache 欢迎页面,则说明安装成功。这一步需要服务器开放了80端口。

3. 安装 MariaDB

sudo apt install mariadb-server

安装完成后,运行安全脚本来增强安全性:

sudo mysql_secure_installation

按照提示进行操作,建议启用强密码验证并删除匿名用户和测试数据库。

4. 安装 PHP

sudo apt install php libapache2-mod-php php-mysql

安装完成后,可以创建一个 PHP 测试文件来确保 PHP 正常工作。在 /var/www/html/ 目录下创建一个 info.php 文件:

sudo vi /var/www/html/info.php

在文件中添加以下内容:

<?php
phpinfo();
?>

保存并退出。然后通过访问 http://your_server_ip/info.php 检查 PHP 是否正常工作。你应该会看到 PHP 信息页面。测试完后可删除该文件。

5. 调整 Apache 的默认索引文件顺序

sudo vi /etc/apache2/mods-enabled/dir.conf

将 ‘index.php’ 移动到最前面:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

保存并退出,然后重新启动 Apache:

sudo systemctl restart apache2

6. 安装其他 PHP 扩展(可选)

sudo apt install php-cli php-curl php-gd php-mbstring php-xml

安装完成后,重新启动 Apache:

sudo systemctl restart apache2

7. 安装phpMyAdmin(可选)

如果你需要一个基于Web的MySQL管理工具,可以安装phpMyAdmin。

sudo apt install phpmyadmin

在安装过程中选择apache2(空格选中,tab键到ok),并配置相关设置。

8. 完成

现在,你的服务器已经配置好了LAMP环境,可以开始搭建和部署你的Web应用了。

第二部分:apache2如何绑定域名

1. 创建虚拟主机配置文件

首先,为你的域名创建一个新的虚拟主机配置文件。例如,如果你的域名是 example.com,你可以创建一个配置文件‘/etc/apache2/sites-available/example.com.conf’:

sudo vi /etc/apache2/sites-available/example.com.conf

在文件中添加以下内容:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/html/example.com

    <Directory /var/www/html/example.com>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

ServerAdmin 是管理员的电子邮件地址。
ServerName 是你要绑定的主域名。
ServerAlias 是你要绑定的其他域名,例如带有 www 的版本。
DocumentRoot 是网站的根目录。

2. 创建网站根目录

为你的域名创建一个网站根目录。例如:

sudo mkdir -p /var/www/html/example.com

3. 设置文件权限

设置网站根目录的所有权:

sudo chown -R www-data:www-data /var/www/html/example.com

4. 启用新站点

启用你刚创建的虚拟主机配置:

sudo a2ensite example.com.conf

5. 禁用默认站点(可选)

如果你不再需要默认的 Apache 站点,可以禁用它:

sudo a2dissite 000-default.conf

6. 重新加载 Apache

重新加载 Apache 以应用更改:

sudo systemctl reload apache2

第三部分:apache2如何配置https(可选,但是建议)

配置 SSL 证书,确保你的网站通过 HTTPS 安全地传输数据,本文以Let’s Encrypt为例,Let’s Encrypt是一个免费的证书颁发机构。

1. 安装 Certbot 和 Apache 插件

Certbot 是一个帮助自动获取和安装 Let’s Encrypt 证书的工具:

sudo apt install certbot python3-certbot-apache

2. 获取 SSL 证书

使用 Certbot 获取 SSL 证书:

sudo certbot --apache

Certbot 会引导你完成证书的获取和安装。你需要提供你的电子邮件地址,并同意服务条款。然后,Certbot 会自动配置 Apache 以使用新的 SSL 证书。

3. 自动续订 SSL 证书

Let’s Encrypt 的证书有效期为 90 天。Certbot 会自动配置一个 cron 作业来定期续订证书。你可以通过以下命令手动测试自动续订功能:

sudo certbot renew --dry-run

4. 验证配置

Certbot 应该已经自动为你配置好了 Apache 和 SSL。你可以通过访问 https://your_domain 来验证 SSL 证书是否正确安装。

第四部分:MariaDB如何新增数据库

1. 登录到MariaDB

首先,使用以下命令登录到MariaDB:

sudo mysql -u root -p

输入你在安装MariaDB时设置的root密码

2. 创建新数据库

登录到MariaDB后,可以使用以下命令创建一个新数据库:

CREATE DATABASE your_database_name;

将 ‘your_database_name’替换为你希望创建的数据库名称。

3. 创建新用户并授予权限

为了安全性,建议为每个数据库创建一个单独的用户,并为该用户授予相应的权限。使用以下命令创建新用户并设置密码:

CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';

将 ‘your_username’ 替换为你希望创建的用户名,将 ‘your_password’ 替换为你希望设置的密码。

然后,使用以下命令将新用户的权限授予到新创建的数据库:

GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost';

最后,刷新权限使更改生效:

FLUSH PRIVILEGES;

4. 退出MariaDB

完成后,可以使用以下命令退出MariaDB:

EXIT;

通过这些步骤,你就可以成功创建一个新数据库,并为新用户授予访问和管理该数据库的权限。

附加1:其他数据库常用命令

  1. 查看数据库列表,登录到MariaDB输入:
SHOW DATABASES;
  • 执行这条命令后,MariaDB 会列出所有可用的数据库。例如:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| database_name      |
+--------------------+
  1. 删除数据库:
DROP DATABASE database_name;
  1. 查看用户列表:
SELECT User, Host FROM mysql.user;
  • 执行这条命令后,MariaDB 会显示所有用户及其关联的主机名。例如:
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |
| user1            | %         |
| another_user     | 127.0.0.1 |
+------------------+-----------+
  1. 更改已有用户密码,例如更改root用户的密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  1. 删除已有用户,例如删除一个名为 user1 的用户,且该用户只能从 localhost 访问:
DROP USER 'user1'@'host';
  • 如果user1可以从任何主机访问,则使用 %
DROP USER 'user1'@'host';
  1. 数据库目录:默认在/var/lib/mysql,但实际位置可能会有所不同,查看数据目录位置:
SHOW VARIABLES LIKE 'datadir';
  • 执行后,你将看到类似以下的输出:
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+

这里的 Value 列显示的路径即为 MariaDB 存储数据库文件的目录。

附加2:如果没有安装phpmyadmin,如何导入和导出数据库

导入数据库(将之前备份的sql导入数据库):

mysql -uyour_username -p your_database_namebackup < your_database_name.sql

导出数据库(将数据库导出为.sql):

mysqldump -uyour_username -p your_database_name > your_database_nameout.sql

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注