当前位置:   article > 正文

Linux服务器搭建、配置与管理_linux服务器配置与管理

linux服务器配置与管理

一、安装与配置Linux操作系统(CentOS-8)


二、配置网络和使用SSH服务


三、配置与管理防火墙和SELinux

  1. #查看防火墙状态
  2. systemctl status firewalld
  3. #开启/关闭防火墙
  4. systemctl start firewalld # 开启防火墙
  5. systemctl stop firewalld # 关闭防火墙
  6. #开启/关闭端口
  7. firewall-cmd --zone=public --add-port=22/tcp --permanent # 开启SSH端口(22)
  8. firewall-cmd --zone=public --remove-port=22/tcp --permanent # 关闭SSH端口(22)
  9. #查看规则列表
  10. firewall-cmd --list-all
  11. #重新加载防火墙配置
  12. firewall-cmd --reload
  13. 配置与管理SELinux
  14. #查看SELinux状态
  15. sestatus
  16. #开启/关闭SELinux
  17. setenforce 0 # 暂时关闭SELinux(需要重启后才生效)
  18. # 永久关闭SELinux
  19. vim /etc/selinux/config # 将 SELINUX=enforcing 改为 SELINUX=disabled
  20. #修改文件上下文
  21. # 查看文件上下文
  22. ls -Z file.txt
  23. # 修改文件上下文
  24. chcon -t httpd_sys_content_t file.txt
  25. #查看SELinux日志
  26. tail -f /var/log/audit/audit.log


四、配置与管理代理服务器


五、配置与管理Samba服务器

  1. #安装Samba
  2. sudo yum install samba
  3. #创建Samba用户
  4. sudo useradd -M -s /sbin/nologin <username>
  5. sudo smbpasswd -a <username>
  6. #-M选项表示不创建用户主目录,
  7. #-s /sbin/nologin选项表示不允许该用户登录系统,
  8. #<username>为你想要创建的Samba账号用户名
  9. #配置Samba服务器
  10. sudo nano /etc/samba/smb.conf
  11. #在文件末尾添加以下内容
  12. [sharename] #<sharename>为你想要共享的目录名,
  13. path = <path_to_share> #<path_to_share>为你想要共享的目录路径
  14. valid users = <username> #<username>为你刚才创建的Samba账号用户名
  15. writable = yes
  16. browseable = yes
  17. #重启Samba服务
  18. sudo systemctl restart smb.service
  19. #配置防火墙
  20. 使用以下命令开放Samba服务端口
  21. sudo firewall-cmd --add-service=samba --permanent
  22. 然后重启防火墙:
  23. sudo firewall-cmd --reload


六、配置与管理NFS服务器

  1. #安装NFS服务器
  2. sudo dnf install nfs-utils
  3. #配置NFS服务器
  4. sudo vi /etc/exports
  5. #在文件的末尾添加:
  6. /share *(rw,sync,no_subtree_check)
  7. #重启NFS服务器
  8. sudo systemctl restart nfs-server
  9. #配置NFS客户端
  10. sudo dnf install nfs-utils
  11. #使用以下命令挂载NFS共享目录:
  12. sudo mount nfs-server-ip:/share /mnt/nfs
  13. #管理NFS服务器
  14. #查看NFS共享的目录
  15. sudo showmount -e
  16. #显示当前NFS会话
  17. sudo nfsstat -c
  18. #显示当前NFS操作的统计信息:
  19. sudo nfsstat -o


七、配置与管理DHCP服务器

  1. #安装 DHCP 软件包:
  2. sudo yum install -y iputils isc-dhcp-server
  3. #启动并启用 DHCP 服务:
  4. sudo systemctl start dhcpd
  5. sudo systemctl enable dhcpd
  6. #配置 DHCP 服务器:
  7. # 声明作用域
  8. ddns-update-style none;
  9. default-lease-time 86400;
  10. max-lease-time 31536000;
  11. # 定义地址池
  12. subnet 10.115.223.0 255.255.255.0 {
  13. range 10.115.223.10 10.115.223.100;
  14. declare ddns-domain-name "example.com";
  15. };
  16. #配置排除地址:
  17. exclude-address 10.115.223.10, 10.115.223.20;
  18. #重启 DHCP 服务
  19. sudo systemctl restart isc-dhcp-server
  20. #验证 DHCP 服务:
  21. ls -la /var/state/dhcp/
  22. #还可以使用dhclient命令查询客户端的 IP 地址:
  23. sudo dhclient -v


八、配置与管理DNS服务器

  1. #服务端
  2. yum install -y bind bind-chroot
  3. systemctl start named
  4. systemctl enable named
  5. #主配置文件
  6. vim /etc/named.conf
  7. options {
  8. @! listen-on port 53 { any; };
  9. listen-on-v6 port 53 { ::1; };
  10. directory "/var/named";
  11. dump-file "/var/named/data/cache_dump.db";
  12. statistics-file "/var/named/data/named_stats.txt";
  13. memstatistics-file "/var/named/data/named_mem_stats.txt";
  14. @! allow-query { any; };
  15. recursion yes;
  16. dnssec-enable yes;
  17. @! dnssec-validation no;
  18. /* Path to ISC DLV key */
  19. bindkeys-file "/etc/named.iscdlv.key";
  20. managed-keys-directory "/var/named/dynamic";
  21. pid-file "/run/named/named.pid";
  22. session-keyfile "/run/named/session.key";
  23. };
  24. logging {
  25. channel default_debug {
  26. file "data/named.run";
  27. severity dynamic;
  28. };
  29. };
  30. zone "." IN {
  31. type hint;
  32. file "named.ca";
  33. };
  34. @! include "/etc/named.zones"; #指定区域配置文件(与区域配置文件关联)
  35. include "/etc/named.root.key";
  36. #区域配置文件
  37. vi /etc/named.zones
  38. zone "long60.cn" IN {
  39. type master;
  40. file "long60.cn.zone";
  41. allow-update { none; };
  42. };
  43. zone"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
  44. type master;
  45. file "named.loopback";
  46. allow-update { none; };
  47. };
  48. zone "11.168.192.in-addr.arpa" IN {
  49. type master;
  50. file "21.10.168.192.zone";
  51. allow-update { none; };
  52. };
  53. zone "0.in-addr.arpa" IN {
  54. type master;
  55. file "named.empty";
  56. allow-update { none; };
  57. };
  58. zone "localhost.localdomain" IN {
  59. type master;
  60. file "named.localhost";
  61. allow-update { none; };
  62. };
  63. zone "long60.cn" IN {
  64. type master;
  65. file "long60.cn.zone";
  66. allow-update { none; };
  67. };
  68. #创建正向解析区域声明文件
  69. #(named.localhost是正向区域解析文件的样本文件)
  70. cp -p /var/named/named.localhost long60.cn.zone
  71. vi /var/named/long60.cn.zone
  72. $TTL 1D
  73. @ IN SOA @ root.long60.cn. (
  74. 2023112101 ; serial
  75. 1D ; refresh
  76. 1H ; retry
  77. 1W ; expire
  78. 3H ) ; minimum
  79. #第一列为三级域名
  80. @ IN NS dns.long60.cn.
  81. @ IN MX 5 mail.long60.cn.
  82. dns IN A 192.168.11.21
  83. mail IN A 192.168.11.22
  84. slave IN A 192.168.11.23
  85. www IN A 192.168.11.24
  86. ftp IN A 192.168.11.25
  87. web IN CNAME www.long60.cn.
  88. #@:代表域名本身。
  89. #IN:代表Internet。
  90. #MX:代表Mail Exchange,邮件交换记录。
  91. #NS:代表Name Server,域名服务器记录。
  92. #A:代表Address,IP地址记录。
  93. #CNAME:代表Canonical Name记录,CNAME记录被使用来给一个域名指定一个规范化的名称,这个规范化的名称可以是一个IP地址或者一个域名。这样做可以使得DNS服务器能够将多个域名解析为同一个IP地址,以避免重复的配置。例如,将www.example.com指向example.com,这样访问www.example.com时会自动跳转到example.com。
  94. #创建反向解析区域声明文件
  95. #(named.loopback是反向区域解析文件的样本文件)
  96. cp -p /var/named/named.loopback /var/named/21.10.168.192.zone
  97. vi /var/named/21.10.168.192.zone
  98. $TTL 1D
  99. @ IN SOA @ rname.invalid. (
  100. 2023112101 ; serial
  101. 1D ; refresh
  102. 1H ; retry
  103. 1W ; expire
  104. 3H ) ; minimum
  105. #第一列为主机名/IP地址
  106. @ IN NS dns.long60.cn.
  107. @ IN MX 5 mail.long60.cn.
  108. 21 IN PTR dns.long60.cn.
  109. 22 IN PTR mail.long60.cn.
  110. 23 IN PTR slave.long60.cn.
  111. 24 IN PTR www.long60.cn.
  112. 25 IN PTR ftp.long60.cn.
  113. #PTR通常表示"Pointer",指针的意思。在计算机编程中,指针是一种变量类型,它存储了内存地址的值,可以用于访问和操作变量、数组、结构体等数据类型。在网络领域中,PTR有时也可以表示"Pointer Record",用于指向域名对应的IP地址
  114. cd /var/named
  115. #设置主配置文件与正、反向解析区域声明文件的数组为named
  116. chgrp named /etc/named.conf /etc/named.zones
  117. chgrp named long60.cn.zone 21.11.168.192
  118. firewalld-cmd --permanent --add-service=dns
  119. firewalld-cmd --reload
  120. systemctl restart named
  121. systemctl enable named
  122. #客户端
  123. #注意网网络模式以及网段
  124. yum install -y bind-untils
  125. vi /etc/resolv.conf
  126. # Generatea by etworkManager
  127. rkManager
  128. nameserver 192.168.11.21
  129. nameserver 192.168.11.22
  130. nameserver 192.168.11.23
  131. search long60.cn
  132. nslookup
  133. server
  134. www.long60.cn
  135. 192.168.11.21


九、配置与管理Apache服务器

  1. #服务目录 /etc/httpd
  2. #主配置文件 /etc/httpd/conf/httpd.conf
  3. #网站数据目录 /var/www/html
  4. #访问日志 /var/log/httpd/access_log
  5. #错误日志 /var/log/httpd/error_log
  6. DocumentRoot: 定义 web 服务器文档根目录。例如:DocumentRoot /var/www/html
  7. ServerAdmin 管理员邮箱
  8. ServerName: 定义 web 服务器的域名。例如:ServerName www.example.com
  9. Listen: 定义 web 服务器侦听的 IP 地址和端口。例如:Listen 80
  10. ErrorLog: 定义 web 服务器错误日志的路径。例如:ErrorLog /var/log/httpd/error_log
  11. CustomLog: 定义 web 服务器自定义日志的路径。例如:CustomLog /var/log/httpd/access_log combined
  12. DirectoryIndex: 定义 web 服务器默认的索引文件。例如:DirectoryIndex index.html index.htm index.php
  13. Options: 定义 web 服务器可用选项。例如:Options FollowSymLinks
  14. AllowOverride: 定义 web 服务器是否允许 .htaccess 文件。例如:AllowOverride All
  15. Require: 定义 web 服务器的访问权限。例如:Require all granted
  16. SSLCertificateFile: 定义 SSL 证书文件的路径。例如:SSLCertificateFile /etc/pki/tls/certs/server.crt
  17. dnf install -y httpd
  18. rpm -qa | grep httpd
  19. systemctl start httpd
  20. systemctl enable httpd
  21. firewalld-cmd --list-all
  22. firewalld-cmd --permanent --add-service=http
  23. firewalld-cmd --reload
  24. firewalld-cmd --list-all
  25. setenforce 0
  26. getenforce
  27. systemctl start httpd
  28. systemctl enable httpd
  29. curl http://127.0.0.1
  30. #!SElinux关闭
  31. setenforce 0
  32. echo "welcome to myweb" > /var/www/html/index.html
  33. mkdir /home/www
  34. echo "aaa" > /home/www/myweb.html
  35. #主配置文件
  36. vi /etc/httpd/conf/httpd.conf
  37. DocumentRoot "/home/www"
  38. <Directory "/home/www">
  39. AllowOverride None
  40. #Allow open access
  41. Require all granted
  42. <Directory>
  43. <IfModule dir_module>
  44. DirectoryIndex index.htnl myweb.html
  45. <IfModule>
  46. firewalld-cmd --permanent --add-service=http
  47. firewalld-cmd --reload
  48. firewalld-cmd --list-all
  49. setenface 0
  50. systemctl restart httpd
  51. #用户个人主页
  52. useradd long
  53. passwd long
  54. chmod 705 /home/long
  55. mkdir /home/long/public_html
  56. cd /home/long/public_html
  57. echo "aaa" > index.html
  58. #开启个人用户主页
  59. vi /etc/httpd/conf.d/userdir.conf
  60. #UserDir disabled #注释掉
  61. 变为UserDir public_html
  62. systemctl restart httpd
  63. #setenface 1
  64. #setsebool -P httpd_enable_homedirs=on
  65. #虚拟目录
  66. mkdir -p /virdir/
  67. cd /virdir/
  68. echo "aaa" > index.html #虚拟目录首页文件
  69. chmod 705 index.html
  70. vi /etc/htttpd/conf/httpd.conf
  71. Alias /test "/virdir"
  72. <Directory "/virdir">
  73. AllowOverride None
  74. #Allow open access
  75. Require all granted
  76. <Directory>
  77. #selinux,firewalld放行
  78. systemctl stop firewalld
  79. setenforce 0
  80. systemctl restart httpd
  81. #配置基于IP的虚拟主机
  82. #ens33设置两个IP地址(192.168.153.51 192.168.153.52)
  83. mkdir /var/www/ip1 /var/www/ip2
  84. echo "192.168.153.51" > /var/www/ip1/index.html
  85. echo "192.168.153.52" > /var/www/ip2/index.html
  86. vi /etc/httpd/conf.d/vhost.conf
  87. <Virtualhost 192.168.153.51>
  88. DocumentRoot /var/www/ip1
  89. <Virtualhost>
  90. <Virtualhost 1192.168.153.52>
  91. DocumentRoot /var/www/ip2
  92. <Virtualhost>
  93. vi /etc/httpd/conf/httpd.conf
  94. <Directory "/var/www/ip1">
  95. AllowOverride None
  96. #Allow open access
  97. Require all granted
  98. <Directory>
  99. <Directory "/var/www/ip2">
  100. AllowOverride None
  101. #Allow open access
  102. Require all granted
  103. <Directory>
  104. #配置基于域名的虚拟主机
  105. mkdir /var/www/www1 /var/www/www2
  106. echo "www1.long60.cn de web" > /var/www/www1/index.html
  107. echo "www2.long60.cn de web" > /var/www/www2/index.html
  108. vi /etc/httpd/conf/httpd.conf
  109. <Directory "/var/www/">
  110. AllowOverride None
  111. #Allow open access
  112. Require all granted
  113. #...
  114. <Directory>
  115. vi /etc/httpd/conf.d/vhost.conf
  116. <Virtualhost 192.168.153.51>
  117. DocumentRoot /var/www/www1
  118. ServerName www1.long60.cn
  119. <Virtualhost>
  120. <Virtualhost 192.168.153.51>
  121. DocumentRoot /var/www/www2
  122. ServerName www2.long60.cn
  123. <Virtualhost>
  124. 在DNS中添加www1,www2
  125. vi /var/named/long60.cn.zone
  126. STTL 1D
  127. @ IN SOA dns.long60.cn. mail.long60.cn. (
  128. 0
  129. 1D
  130. 1H
  131. 1W
  132. 3H
  133. )
  134. @ IN NS dns.long60.cn
  135. @ IN MX 10 mail.long60.cn
  136. dns IN A 192.168.153.51
  137. www1 IN A 192.168.153.51
  138. www2 IN A 192.168.153.51
  139. #基于端口的虚拟主机
  140. mkdir /var/www/8088 /var/www/8089
  141. echo "8088" > /var/www/8088/index.html
  142. echo "8089" > /var/www/8089/index.html
  143. vi /etc/httpd/conf/httpd.conf
  144. Listen 80
  145. Listen 8088
  146. Listen 8089
  147. ...
  148. ...
  149. <Directory "/var/www/">
  150. AllowOverride None
  151. #Allow open access
  152. Require all granted
  153. #...
  154. <Directory>
  155. <Directory "/var/www/">
  156. AllowOverride None
  157. #Allow open access
  158. Require all granted
  159. #...
  160. <Directory>
  161. vi /etc/httpd/conf.d/vhost.conf
  162. <Virtualhost 192.168.153.51:8088>
  163. DocumentRoot /var/www/8088
  164. <Virtualhost>
  165. <Virtualhost 192.168.153.51:8089>
  166. DocumentRoot /var/www/8089
  167. <Virtualhost>
  168. #允许防火墙通过端口
  169. firewalld-cmd --permanent --zone=public --add-port=8088/tcp
  170. firewalld-cmd --permanent --zone=public --add-port=8089/tcp
  171. firewalld-cmd --reload
  172. firewalld-cmd --list-all


十、配置与管理FTP服务器

  1. #安装 vsftpd: 使用 yum 软件包管理器安装 vsftpd
  2. sudo yum install vsftpd -y
  3. #配置 vsftpd 服务
  4. sudo nano /etc/vsftpd/vsftpd.conf
  5. anonymous_enable YES
  6. local_enable YES
  7. write_enable YES
  8. passwd_file /etc/vsftpd/passwd
  9. #其中,passwd_file 需要自行创建,后续步骤会详细说明。
  10. sudo mkdir /etc/vsftpd/passwd
  11. sudo echo "user1:password1" > /etc/vsftpd/passwd
  12. #配置防火墙以允许 FTP 流量: 如果您的系统已启用防火墙,请确保允许 FTP 端口(21)的流量。
  13. sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
  14. sudo firewall-cmd --reload
  15. #启动 vsftpd 服务
  16. sudo systemctl start vsftpd
  17. #验证 vsftpd 服务
  18. sudo systemctl status vsftpd
  19. #如果一切正常,您应该能看到以下输出:
  20. #vsftpd (pid 12345) is running
  21. #配置 vsftpd 开机自启动: 为了让 vsftpd 服务在系统启动时自动运行,请确保在 /etc/systemd/system/multi-user.target.wants/ 目录下存在对应的单元文件。您可以使用以下命令创建:
  22. sudo ln -s /usr/lib/systemd/system/vsftpd.service /etc/systemd/system/multi-user.target.wants/
  23. #设置 vsftpd 服务日志
  24. sudo nano /etc/vsftpd/vsftpd.log
  25. #在配置文件中,设置以下选项:
  26. log_file /var/log/vsftpd.log
  27. log_pid /var/run/vsftpd.pid
  28. #创建日志文件和 PID 文件
  29. sudo mkdir /var/log/vsftpd
  30. sudo touch /var/log/vsftpd/vsftpd.log
  31. sudo mkdir /var/run
  32. sudo touch /var/run/vsftpd.pid


十一、配置与管理postfix(邮件)服务器

  1. #安装 Postfix:
  2. sudo yum install postfix -y
  3. #配置 Postfix 服务
  4. sudo nano /etc/postfix/main.cf
  5. #在配置文件中,设置以下选项:
  6. myhostname = mail.example.com
  7. mydomain = example.com
  8. myorigin = $mydomain
  9. #启动 Postfix 服务:
  10. sudo systemctl start postfix
  11. #配置防火墙以允许邮件流量:
  12. sudo firewall-cmd --permanent --zone=public --add-port=25/tcp
  13. sudo firewall-cmd --permanent --zone=public --add-port=110/tcp
  14. sudo firewall-cmd --permanent --zone=public --add-port=143/tcp
  15. sudo firewall-cmd --reload
  16. #启动 Postfix 服务:
  17. sudo systemctl status postfix
  18. #如果一切正常,您应该能看到以下输出:
  19. postfix (pid 12345) is running
  20. #配置 Postfix 开机自启动:
  21. sudo ln -s /usr/lib/systemd/system/postfix.service /etc/systemd/system/multi-user.target.wants/
  22. #设置 Postfix 服务日志:
  23. sudo nano /etc/syslog.conf
  24. #在配置文件中,添加以下行:
  25. postfix/[email protected]
  26. #重启 syslog 服务以应用更改
  27. sudo systemctl restart syslog
  28. #创建一个单独的 Postfix 日志文件
  29. sudo mkdir /var/log/postfix
  30. sudo
  31. touch /var/log/postfix/postfix.log

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/677326
推荐阅读
相关标签
  

闽ICP备14008679号