LearnEuler

OpenEuler系统学习笔记与配置指南
声明: 如若侵权,请联系 huidoudour

1. DNS配置

yum -y install bind-chroot
systemctl enable --now named

vim /etc/namd.conf
options {
    listen-on port 53 { any; };
    ...
    allow-query     { any; };
};

vim /etc/named.rfc1912.zones
zone "xckt.com" IN {
    type master;
    file "xckt.com.zone";
    allow-update { none; };
};

zone "239.168.192.in-addr.arpa" IN {
    type master;
    file "239.168.192.zone";
    allow-update { none; };
};

2. sshpass工具

ssh-keygen
yum -y install sshpass

for i in {9..9}; do sshpass -p '<password>' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.239.12$i; done

for i in {0..1}; do sshpass -p '<password>' ssh-copy-id -o StrictHostKeyChecking=no root@192.168.239.13$i; done

for i in {1..3}; do sshpass -p '<password>' ssh-copy-id -o StrictHostKeyChecking=no ecs$i.xckt.com.; done

3. CA服务器

参考文章:https://blog.csdn.net/m0_60984906/article/details/128996331

4. Apache服务器

vim /etc/selinux/config
SELINUX=enforcing
↓
SELINUX=disabled

yum -y install httpd

systemctl start httpd
systemctl enable httpd

mkdir /var/www/html/6401 /var/www/html/6402 /var/www/html/6403
#在各目录下创建index.html用于测试

vim /etc/httpd/conf/httpd.conf
#使用端口
<VirtualHost *:80 >
    DocumentRoot /var/www/html
    ServerName www.xckt.com
    <Directory /var/www/html>
    AllowOverride None
    Require all granted
    </Directory>
</VirtualHost>

5. 虚拟主机配置

"/etc/httpd/conf.d/xckt.com.conf"
#主配置
<VirtualHost *:81 >
    DocumentRoot /var/www/html/error
    ServerName 192.168.239.129
    <Directory /var/www/html/error>
    Allowoverride None
    Require all denied
    </Directory>
</VirtualHost>
<VirtualHost *:81 >
    DocumentRoot /var/www/html/
    ServerName www.xckt.com
    <Directory /var/www/html/>
    Allowoverride None
    Require all granted
    </Directory>
</VirtualHost>


#重定向
<VirtualHost *:81>
    ServerName www.xckt.com
    DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:81>
    ServerName xckt.com
    ServerAlias *.xckt.com
    Redirect permanent / http://www.xckt.com:81/
</VirtualHost>
<VirtualHost *:81>
    ServerName ecs1.xckt.com
    ServerAlias *.xckt.com
    Redirect 301 / http://www.xckt.com:81/
</VirtualHost>

6. MPM的worker模式

配置MPM工作模式为worker
cd /etc/httpd/conf.modules.d/
修改 00-mpm.conf文件配置
注释>#LoadModule mpm_event_module modules/mod_mpm_event.so
取消注释>LoadModule mpm_worker_module modules/mod_mpm_worker.so

7. SSL配置

一、SSL配置

如果客户端访问 Apache 服务时必须有 SSL 证书,可以按照以下步骤进行配置:

1. 安装 SSL 证书

  1. 获取 SSL 证书
    • 可以从受信任的证书颁发机构(CA)购买 SSL 证书,或者使用免费的证书颁发机构如 Let's Encrypt。
    • 根据证书颁发机构的指南,申请并获取 SSL 证书。通常,你会收到一个包含证书文件(如 .crt.pem 文件)和私钥文件(如 .key 文件)的压缩包。
  2. 安装证书和私钥
    • 将证书文件和私钥文件复制到服务器上的适当位置。通常,你可以将它们放在 /etc/ssl/certs(证书文件)和 /etc/ssl/private(私钥文件)目录下,但具体位置可以根据你的服务器配置而有所不同。
    • 确保证书文件和私钥文件的权限设置正确,以防止未经授权的访问。通常,私钥文件应该只有服务器管理员可读,而证书文件可以被 Web 服务器进程读取。

2. 配置 Apache 以使用 SSL

  1. 打开 Apache 配置文件
    • 通常,Apache 的主配置文件是 /etc/httpd/conf/httpd.conf,但具体位置可能因操作系统和安装方式而有所不同。
    • 使用文本编辑器打开配置文件,并确保你有足够的权限进行编辑。
  2. 启用 SSL 模块
    • 在配置文件中查找以下内容:
      LoadModule ssl_module modules/mod_ssl.so
    • 如果没有找到这个指令,说明 SSL 模块没有加载,你需要添加它以启用 SSL 支持。
  3. 创建或编辑虚拟主机配置
    <VirtualHost *:443>
        ServerName yourdomain.com
        DocumentRoot /var/www/yourdomain.com/public_html
    
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/yourdomain.crt
        SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
    
        # 其他配置选项...
    </VirtualHost>
  4. 配置强制 SSL
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

3. 测试 SSL 配置

# 保存并关闭配置文件
# 重新启动 Apache 服务器
sudo systemctl restart httpd
注意事项:
  • 在配置 SSL 时,确保证书和私钥文件的安全性,防止未经授权的访问。
  • 定期更新 SSL 证书,以确保安全性和兼容性。
  • 如果你的网站使用多个域名或子域名,你可能需要为每个域名申请和安装单独的 SSL 证书,或者使用通配符证书或多域名证书。
  • 在配置强制 SSL 时,要注意可能会影响一些旧的链接或脚本,确保你的网站在 HTTPS 下正常工作。

二、如果没有mod_ssl.so

如果你的 Apache 服务器中 SSL 模块不存在,可以按照以下步骤来解决:

1. 安装 SSL 模块

# CentOS/RHEL
sudo yum install mod_ssl

# Ubuntu/Debian
sudo apt-get install libapache2-mod-ssl

2. 检查模块是否安装成功

# 查看 Apache 模块目录
ls /etc/httpd/modules/mod_ssl.so

# 检查 Apache 配置文件
# 查找是否有类似于 LoadModule ssl_module modules/mod_ssl.so 的行

3. 重新启动 Apache 服务器

# CentOS/RHEL
sudo systemctl restart httpd

# Ubuntu/Debian
sudo service apache2 restart

8. 本地yum源配置

mkdir /media/cdrom/
mount /dev/cdrom /media/cdrom/
cd /etc/yum.repos.d/
mv openEuler.repo openEuler.repo.bak
cat << EOF > local.repo
[local]
name=myrepo
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
EOF

永久自动挂载yum源:

#编辑配置文件
vi /etc/fstab
#最后加上一条
/dev/cdrom /media/cdrom iso9660 defaults 0 0
或
mount /kvm/openeuler.iso /media/cdrom/
#重新挂载
mount -a
#检查是否挂载成功
df -h

9. 网卡相关配置

安装支持重启网卡命令包
yum -y install network-scripts

网卡重启
systemctl restart network

网卡重启(先卸载,再加载)
nmcli c load /etc/sysconfig/network-scripts/ifcfg-ens33
nmcli c up /etc/sysconfig/network-scripts/ifcfg-ens33

正向域配置文件

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                0       ; serial
                                1D      ; refresh
                                1H      ; retry
                                1W      ; expire
                                3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
        PTR     localhost.
xckt1   PTR     192.168.239.129
xckt2   PTR     192.168.239.130
xckt3   PTR     192.168.239.131

反向域配置文件

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                0       ; serial
                                1D      ; refresh
                                1H      ; retry
                                1W      ; expire
                                3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
129     A       ecs1.xckt.com
130     A       ecs2.xckt.com
131     A       ecs3.xckt.com

10. 防火墙配置

systemctl stop firwwalld
setenforce 0
firewall-cmd --list-all
systemctl start/restart/stop firewalld
firewall-cmd --zone=public --add-port=xx/tcp | --add-port=xx/udp

服务对应端口号(部分)

  • DNS服务:53/tcp、53/udp
  • chrony服务:123/udp
  • Apache服务:80/tcp、443/tcp
  • tomcat服务:80/tcp、443/tcp、8080/tcp
  • nfs服务:2049/tcp、111/tcp、111/utp
  • smaba服务:139/tcp、445/tcp
  • iscs服务:860/tcp、3260/tcp
  • postgresql服务:5432/tcp、5432/udp