Centos7从"零"开始的个人网站搭建(LAMP)

●首要说明
1、本文主要讲述的是个人网站环境的搭建,没有Html、PHP等语句的教学,也没有服务器申请、域名申请的教学
2、拟实现的环境:LAMP(Linux+Apache+MySQL+PHP) ,适用于搭建PHP动态网站(当然,也支持静态)
系统:CentOS 7
3、如无特殊说明,本教程均使用root权限操作
4、您需要有一定的Linux基础
5、本人对服务器进行的配置是非常菜鸡的那种,只是能让网站正常运作,没有防攻击、防查水表的功能
6、本教程编写时间:2021-11-27,因软件更新等因素,所有的教程都有时效性,请自行判别

—–欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达—–

【特别提示】如果没有强烈的兴趣爱好或者其他必要情况需要用到LAMP环境,请不要轻易购买域名或服务器,自己装个虚拟机玩玩就行了,否则,您的项目和花掉的钱会随着您的热度衰减而变得没有任何意义。

 


域名注册

●大部分国内的云服务器商家已禁止未备案的域名解析到服务器上,如果您需要用域名直接访问到网站,请在您(拟)购买云服务器的商家页面查看相关规定
●或者,您可以直接在浏览器输入IP地址(如果设置的不是80端口,还得带上端口号)访问网站

 


服务器相关

●如果是购买的云服务器,请留意管理页面中的防火墙规则,是否开放了相关的端口,比如:22(SSH端口)、80(网站默认访问端口)
●建议:国内云服务器如未进行备案,不要使用80端口作为网站访问端口

管理页面防火墙

 


建立SSH连接

●因为我们多数是在Windows平台下,为方便管理服务器,在这采用SSH Secure Shell Client这款软件进行SSH连接。首先,建立连接项目,如下图:

SSH-新建连接

●填写好服务器的IP地址及用户名,连接,输入密码,即可管理服务器,如下图:

SSH-配置连接

●输入密码后连接成功如下图:

SSH-连接成功

 


设置yum源

●如果没有wget指令,请执行下面这条命令
yum -y install wget

●备份yum源

1
mkdir -p /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*repo /etc/yum.repos.d/bak

●使用阿里云yum源

1
2
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

●清空原缓存,并建立新缓存

1
2
yum clean all
yum repolist

 


网络设置

关闭NetworkManager

●关闭NetworkManager

1
2
3
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager

关闭selinux

注意:如果您不懂怎么使用 vivim,请自行搜索学习

●编辑selinux配置
vi /etc/selinux/config

将SELINUX参数设置为disabled
SELINUX=disabled

●生效配置
setenforce 0

防火墙设置

●如果您不需要启用防火墙(等于开放所有端口),可以使用systemctl stop firewalld && systemctl disable firewalld关闭防火墙,然后跳过本篇“防火墙设置”的所有内容

开放端口

●启用防火墙并设置开机自启

1
2
systemctl start firewalld
systemctl enable firewalld

●开放网站访问需要使用到的端口(默认为80)

1
firewall-cmd --zone=public --add-port=80/tcp --permanent

●重载防火墙
firewall-cmd --reload

●查询开放的端口
firewall-cmd --list-port

参考命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#查看防火墙状态
systemctl status firewalld
#启用防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#重启防火墙
systemctl restart firewalld
#关闭防火墙开机自启
systemctl disable firewalld
#启用防火墙开机自启
systemctl enable firewalld
#开启端口号
firewall-cmd --zone=public --add-port=80/tcp --permanent
#开启端口号段
firewall-cmd --zone=public --add-port=50000-55000/tcp --permanent
#删除端口号
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#重载防火墙
firewall-cmd --reload
#查询开放的端口
firewall-cmd --list-port

 


安装和配置Apache服务

安装Apache

●安装Apache
yum -y install httpd*

修改httpd.conf配置

●创建网站的存放目录(请按个人情况创建,本目录为教程演示用)
mkdir -p /usr/www/web

●修改httpd.conf配置文件
vi /etc/httpd/conf/httpd.conf

●找到以下配置项,按个人情况修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# ---网站访问端口(默认为80)---
Listen 80

# ---服务器名称(一般填域名)---
ServerName zjhcofi.com

# ---整体目录权限设置---
#将默认的
<Directory />
AllowOverride none
Require all denied
<Directory>
#改成
<Directory />
Options FollowSymLinks
AllowOverride none
Require all granted
</Directory>

# ---网站所在的目录---
DocumentRoot "/usr/www/web"

# ---网站所在目录的权限设置---
#将默认的
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
#修改为
<Directory "/usr/www/web">
Options FollowSymLinks
AllowOverride All
</Directory>

# ---默认访问的首页名称---
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

新增控制文件vhost.conf

●配置控制文件vhost.conf
vi /etc/httpd/conf.d/vhost.conf

●输入以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#主域名访问设置
<VirtualHost *:80>
ServerAdmin zjhcofi@zjhcofi.com
ServerName zjhcofi.com
ServerAlias zjhcofi.com
DocumentRoot /usr/www/web
ErrorLog /usr/www/weblogs/error.log
CustomLog /usr/www/weblogs/access.log combined
</VirtualHost>

#====================================
# 以下配置,请按个人情况决定是否添加
# 如果需要添加,请复制后取消注释
#====================================

##如果有子域名,比如www.zjhcofi.com,首页位置相同
#<VirtualHost *:80>
#ServerAdmin zjhcofi@zjhcofi.com
#ServerName zjhcofi.com
#ServerAlias www.zjhcofi.com
#DocumentRoot /usr/www/web
#ErrorLog /usr/www/weblogs/error.log
#CustomLog /usr/www/weblogs/access.log combined
#</VirtualHost>

##如果有子域名,而且想让别人访问这个子域名的时候,是访问另外的目录中的首页,比如about.zjhcofi.com
#<VirtualHost *:80>
#ServerAdmin zjhcofi@zjhcofi.com
#ServerName zjhcofi.com
#ServerAlias about.zjhcofi.com
#DocumentRoot /usr/www/web/about
#ErrorLog /usr/www/weblogs/error.log
#CustomLog /usr/www/weblogs/access.log combined
#</VirtualHost>

●配置解释:

VirtualHost:网站访问端口(其实是识别条件hh)
ServerAdmin:服务器管理员(一般填邮箱,没啥用处)
ServerName:服务器名称(一般填域名:zjhcofi.com)
ServerAlias:解析过来的(子)域名( zjhcofi.com、www.zjhcofi.com 、 about.zjhcofi.com 等,只能填一个)
DocumentRoot:网站所在目录
ErrorLog:错误日志存放目录及名称
CustomLog:访问日志存放目录及名称

●创建网站日志存放目录(请按个人情况创建
mkdir -p /usr/www/weblogs

启动Apache

●启动Apache服务
systemctl start httpd

●查看Apache服务状态
systemctl status httpd

●设置开机自启动
systemctl enable httpd

●其他参考命令

#关闭Apache服务
systemctl stop httpd
#重启Apache服务
systemctl restart httpd

尝试访问

●在浏览器输入IP地址或者域名进行访问

访问成功

 


下载并安装mysql

下载mysql

1.在自己电脑上访问mysql官方下载页

2.选择以下选项,并下载

●点击“Looking for previous GA versions?”

下载mysql-1

●选择好相应的版本,下载PRM Bundle,点击“Download”

下载mysql-2

●点击“No thanks,just start my download.”

下载mysql-3

注意,本教程在下载mysql安装包的时候,这个安装包的名称是:
mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar
以下命令有涉及到这个名称的,请按您实际下载到的安装包名称为准  

安装mysql并配置

1.创建存放mysql安装包的目录
mkdir -p /usr/www/mysql
●将 mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar 放在 /usr/www/mysql 下

如果您不懂怎么从Windows传文件到Linux,请搜索“WinSCP”的教程

2.解压

1
2
cd /usr/www/mysql
tar -xf mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar

3.检查服务器有无安装其他数据库

1
2
rpm -qa|grep -i mysql
rpm -qa|grep -i mariadb

4.如果有安装,记录并使用 yum remove -y 卸载全部显示出来的包
卸载数据库
yum remove -y mariadb-libs-5.5.56-2.el7.x86_64

5.安装数据库(按实际名称,按顺序执行)

1
2
3
4
5
6
rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm

6.启动mysql并查看启动情况
service mysqld start && systemctl status mysqld

7.把mysql加到开机自启动
chkconfig mysqld on

8.修改数据库配置文件
vi /etc/my.cnf
在最底下新增

character-set-server=utf8

9.重启mysql
service mysqld restart

10.查看mysql的root用户初始密码
grep password /var/log/mysqld.log
mysql初始密码

11.登录数据库
mysql -uroot -p

12.更新mysql的root密码(比如改为Bili@233)
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'Bili@233';
mysql>exit

●再次登录的时候,就可以使用新密码登录了

 


安装PHP

●安装PHP:
yum install php php-mysql php-gd php-pear php-mbstring -y

●重启Apache服务
systemctl restart httpd

 


网页测试

把自己的网页放上网站目录,在浏览器输入IP地址或者域名进行访问

访问成功

文章目录
  1. 1. 域名注册
  2. 2. 服务器相关
  3. 3. 建立SSH连接
  4. 4. 设置yum源
  5. 5. 网络设置
    1. 5.1. 关闭NetworkManager
    2. 5.2. 关闭selinux
    3. 5.3. 防火墙设置
      1. 5.3.1. 开放端口
      2. 5.3.2. 参考命令
  6. 6. 安装和配置Apache服务
    1. 6.1. 安装Apache
    2. 6.2. 修改httpd.conf配置
    3. 6.3. 新增控制文件vhost.conf
    4. 6.4. 启动Apache
    5. 6.5. 尝试访问
  7. 7. 下载并安装mysql
    1. 7.1. 下载mysql
    2. 7.2. 安装mysql并配置
  8. 8. 安装PHP
  9. 9. 网页测试