linux系统部署Apache服务器||部署管理论坛
分类:
文章
•
2025-03-09 16:13:04
Apache基本配置
一.默认发布文件:
1.yum install httpd -y 下载服务

2.systemctl start httpd 开启服务
3. cd /var/www/html/ 进入目录
4. vim index.html 编辑文件Apache默认发布文件

内容:
<h1>hello westos</h1>

5.firewall-cmd --permanent --add-service=http 针对http的防火墙策略
6. firewall-cmd --reload 重新加载防火墙

7. firewall-cmd --list-all 查看防火墙策略

8.systemctl restart httpd 重启服务
测试:
在浏览器输入:172.25.254.171就可看到默认发布文件的内容

二.默认发布目录:
1. mkdir /westos/html -p 建立目录(-p表示上层目录不存在自动建立)
vim /westos/html/index.html
写入内容:westos
2.vim /etc/httpd/conf/httpd.conf 编辑主配置文件修改默认发布文件
DirectoryIndex index.html 默认发布文件,可以有多个,哪个在前哪个优先级高
3.vim /etc/httpd/conf/httpd.conf 编辑主配置文件修改默认发布目录

内容:
DocumentRoot "/westos/html"
121行 <Directory "/westos">
122行 Require all granted
123行 </Directory>

5.systemctl restart httpd 重启服务
6.semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?' 修改安全上下文
7. restorecon -RvvF /westos/ 刷新安全上下文列表
测试:在浏览器访问:172.25.254.171 可以看到默认发布目录文件的内容

三.虚拟主机
1.vim /etc/httpd/conf/httpd.conf 配置文件修改默认发布目录
内容:
DocumentRoot "/var/www/html"
2. mkdir /var/www/virtual/news/html -p
mkdir /var/www/virtual/music/html -p 建立目录

3.vim /var/www/virtual/music/html/index.html 编辑文件写入内容

vim /var/www/virtual/news/html/index.html 编辑文件写入内容

4. cd /etc/httpd/conf.d/ 进入目录
5. vim default.conf 编辑默认发布目录
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>


6. cp default.conf music.conf 复制默认发布目录
7.vim music.conf 编辑配置文件
内容:
<VirtualHost *:80>
ServerName music.westos.com
DocumentRoot /var/www/virtual/music/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory "/var/www/virtual/music/html">
Require all granted
</Directory>


cp music.conf news.conf 复制文件
vim news.conf 编辑配置文件
内容:
<VirtualHost *:80>
ServerName news.westos.com
DocumentRoot /var/www/virtual/news/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory "/var/www/virtual/news/html">
Require all granted
</Directory>


8. systemctl restart httpd 重启服务
9.用真机root用户修改解析:vim /etc/hosts
内容:
172.25.254.171 www.westos.com news.westos.com music.westos.com

测试:在浏览器访问:www.westos.com news.westos.com music.westos.com



四.登陆权限:
1)用户创建
1. htpasswd -cm /etc/httpd/htuser admin 创建文件
New password: 输入密码
Re-type new password: 确认密码
Adding password for user admin
2.cat /etc/httpd/htuser 查看用户

3. htpasswd -m /etc/httpd/htuser lee

4.vim /etc/httpd/conf.d/default.conf 编辑配置文件
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory "/var/www/html">
Order Deny,Allow 先看Deny在看Allow。(哪个在前先看哪个)
Allow from 172.25.254.107 不允许107登
Deny from all 允许所有人登
</Directory>
5.systemctl restart httpd 重启服务
测试:在浏览器输入:172.25.254.107访问不了

2)允许用户通过认证方式登陆:
1.vim /etc/httpd/conf.d/default.conf 编辑配置文件
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory "/var/www/html">
AuthUserFile /etc/httpd/htuser
AuthName "Please input username and password"
AuthType basic
Require valid-user
</Directory>
2. systemctl restart httpd

测试:在浏览器输入:www.westos.com 用户登陆即可查看

输入用户名和密码登陆可查看内容:

五.php页面发布
1.cd /etc/httpd/conf.d/ 进入目录
vim default.conf 编辑文件

内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>

2.[[email protected] conf.d]# cd /var/www/html/ 进入目录
index.html

3. vim index.php 编辑文件
内容:(内容紫色,不对说明输入有误)
<?php
phpinfo();
?>

4.yum install php -y 安装软件
5. systemctl restart httpd 重启服务
6. cd /etc/httpd/conf.d/ 进入目录查看会生成php.conf文件
7. ls 查看

测试:在浏览器输入:www.westos.com/index.php可以查看

六.访问mysql数据库:
1.cd /var/www/html 进入目录
2.phpMyAdmin-3.4.0-all-languages.tar.bz2 下载 软件

3. tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 解压
4.mv phpMyAdmin-3.4.0-all-languages/ mysqladmin 重命名
5.cd mysqladmin 进入ls查看

6.cp config.sample.inc.php config.inc.php 复制文件

7.vim Documentation.txt 查看授权码

8.vim config.inc.php 把授权码复制进去
内容:
17 $cfg['blowfish_secret'] = 'ba17c1ec07d65003';

9.yum search php 查找插件
10.yum install php-mysql.x86_64 -y 下载插件

11.systemctl restart httpd 重启服务

测试:在浏览器输入:172.25.254.107/mysqladmin

输入用户和密码就可以访问mysql数据库

七.安装证书及其私钥
1. cd /etc/httpd/conf.d/ 即进入目录查看
autoindex.conf music.conf news.conf README welcome.conf
default.conf mysqladmin php.conf userdir.conf
2. yum install mod_ssl -y 安装插件
3. ls 查看会生成ssl.conf文件
autoindex.conf music.conf news.conf README userdir.conf
default.conf mysqladmin php.conf ssl.conf welcome.conf

4. systemctl restart httpd 重启服务
5. yum install crypto-utils.x86_64 -y 安装证书
6. genkey www.westos.com 给域名加密
进入加密界面:点击下一步

选择加密长度:

选择no:

写入信息:

生成证书和钥匙:
/usr/bin/keyutil -c makecert -g 1024 -s "CN=www.westos.com, OU=linux, O=westos, L=Xi'an, ST=Shanxi, C=CN" -v 1 -a -z /etc/pki/tls/.rand.2542 -o /etc/pki/tls/certs/www.westos.com.crt -k /etc/pki/tls/private/www.westos.com.key
cmdstr: makecert
cmd_CreateNewCert
command: makecert
keysize = 1024 bits
subject = CN=www.westos.com, OU=linux, O=westos, L=Xi'an, ST=Shanxi, C=CN
valid for 1 months
random seed from /etc/pki/tls/.rand.2542
output will be written to /etc/pki/tls/certs/www.westos.com.crt 证书
output key written to /etc/pki/tls/private/www.westos.com.key
Generating key. This may take a few moments...
Made a key
Opened tmprequest for writing
/usr/bin/keyutil Copying the cert pointer
Created a certificate
Wrote 882 bytes of encoded data to /etc/pki/tls/private/www.westos.com.key 钥匙
Wrote the key to:
/etc/pki/tls/private/www.westos.com.key

7.vim ssl.conf 编辑配置文件
内容:
100 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
107 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key

8. systemctl restart httpd 重启服务
测试:在浏览器输入:https://www.westos.com 查看证书
八.http虚拟主机:(http与https之间的转换)
1. mkdir /var/www/virtual/loogin/html -p 建立目录
2. vim /var/www/virtual/loogin/html/index.html 写入内容
3. vim login.conf 编辑配置文件
内容:
<Virtualhost *:443>
ServerName login.westos.com
DocumentRoot /var/www/virtual/loogin/html
CustomLog logs/login.log combined
SSLCertificateFile on
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Virtualhost *:80>
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
配置文件每个字符含义:
^(/.*)$ 客户在浏览器地址栏输入的所有字符
https:// 强制客户加密访问
%{HTTP_HOST} 客户请求主机
$1 $1表示^(/.*)$的值
[redirect=301] 临时转换 302永久转换

4. systemctl restart httpd 重启服务
5. vim /etc/hosts 修改解析(真机)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.254.107 www.westos.com news.westos.com music.westos.com login.westos.com

测试:在浏览器输入:login.westos.com 会转换成https://login.westos.com/
九.执行cgi脚本
1. yum install httpd-manual -y 下载httpd手册软件

2. ls 查看会生成manual.conf文件
autoindex.conf manual.conf news.conf ssl.conf welcome.conf
default.conf music.conf php.conf tmprequest
login.conf mysqladmin README userdir.conf

3. systemctl restart httpd 重启服务
在浏览器输入:172.25.254.107/manual 查看手册

4. cd /var/www/html/ 进入目录查看
index.html index.php mysqladmin
5.mkdir cgi 建立目录

6. cd cgi/
vim index.cgi 进入目录,编辑配置文件

内容:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;

7. chmod +x index.cgi 加执行权限
8. ./index.cgi 执行脚本

测试在浏览器输入:172.25.254.107/cgi/index.cgi 显示脚本内容,没有执行

9. vim /etc/httpd/conf/httpd.conf 编辑配置文件
内容:
107 <Directory /var/www/html/cgi>
108 Options +ExecCGI
109 AddHandler cgi-script .cgi
110 </Directory>

10. systemctl restart httpd 重启服务
11. getenforce 查看selinux状态

注意:selinux状态是关闭时,直接在浏览器中输入:
172.25.254.107/cgi/index.cgi 会执行脚本,显示时间

如果selinux状态是开启时需要修改安全上下文后方可访问。
1. ls /var/www/html/cgi/ -Z -d 查看安全上下文
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/cgi/
2. semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' 修改安全上下文
3. restorecon -RvvF /var/www/html/cgi/ 刷新
测试在浏览器输入:172.25.254.107/cgi/index.cgi 执行脚本,显示时间

注意:如果访问不了需要做一个虚拟主机:
1. cd /etc/httpd/conf.d/ 进入目录查看
autoindex.conf manual.conf news.conf ssl.conf welcome.conf
default.conf music.conf php.conf tmprequest
login.conf mysqladmin README userdir.conf
2. vim default.conf 编辑文件
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
十.squid代理
squid正向代理
1. vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改虚拟机网关,dns
内容:
IPADDR=172.25.254.107
GATEWAY=172.25.254.71
DNS1=114.114.114.114
2. systemctl restart network 重启网络
3. yum install squid -y 下载软件
4. systemctl start squid 打开软件
5. netstat -antlupe | grep squid 查看squid使用的端口

6. vim /etc/squid/squid.conf 编辑配置文件
内容:
56 http_access allow all
62 cache_dir ufs /var/spool/squid 100 16 256
7. systemctl restart squid.service 重启服务
8. cd /var/spool/squid/ 进入目录查看
会生成文件(16个100M的文件,超过100M会覆盖之前的文件)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F swap.state
打开浏览器:由上角3横---preferences---Advanced---Network---Settings---第四个,添加ip,和端口

测试:在浏览器输入:www.baidu.com就可以上网。
squid反向代理:
打开server虚拟机服务端:卸载httpd服务
1.yum install squid -y 下载软件

2.systemctl start squid 打开软件
3. vim /etc/squid/squid.conf 编辑配置文件
内容:
59 http_port 80 vhost vport
60 cache_peer 172.25.254.214 parent 80 0 proxy-only 通过80接口访问107

4.systemctl restart squid 重启服务
测试:在浏览器输入:172.25.254.114会看到172.25.254.214主机发布目录的内容。

squid反向代理轮询:
在服务端做:
1.vim /etc/squid/squid.conf 编辑配置文件
内容:
cache_peer 172.25.254.214 parent 80 0 proxy-only round-robin originserver name=web1 weight=3
cache_peer 172.25.254.14 parent 80 0 proxy-only round-robin originserver name=web2 weight=1
cache_peer_domain web1 web2 www.westos.com
参数:
weight=3 weight=1 表示166三次,108一次

2. systemctl restart squid 重启服务
3.在真机修改解析:vim /etc/hosts
内容:
172.25.254.214 www.westos.com news.westos.com music.westos.com login.westos.com
测试:栏浏览器输入:www.westos.com

搭建论坛:
在207做:
使用lamp(selinux+apache+mariadb+php)架构搭建论坛
1.yum install mod_ssl httpd php mariadb-server.x86_64 php-mysql.x86_64 -y
安装软件

2.cd /var/www/html
3.下载Discuz_X3.2_SC_UTF8.zip

4.unzip Discuz_X3.2_SC_UTF8.zip 解压
5. systemctl stop squid 停止服务
6. systemctl start httpd 打开服务
7. chmod 777 /var/www/html/upload/ 更改权限

在浏览器输入:172.25.254.214/upload 进入安装界面
同意进入:检测安装环境进行下一步安装

设置运行环境

创建数据库

完成安装,进行登陆论坛
