linux apache2(ubuntu)服务器配置(https/s-nail/crontab)

本文详细介绍了在Ubuntu20.04系统中配置Apache Web服务器的过程,包括安装Apache、设置SSL证书、配置URL重定向及通过SSH密钥登录等。此外,还介绍了如何设置定时发送日志邮件的功能。

linux服务:Ubuntu 20.02

一.服务器配置

1.安装

sudo apt update
sudo apt install apache2

1.1网页配置目录

/var/www/html

1.2.apache2配置目录

/etc/apache2

2.配置ssh+强制跳转https+aa.cn跳www.aa.cn

说明:本文参考2016年的文章(图片为本人原创+内容本人提醒注意点+美观排版)

2.1 ①获取来自ssh购买商的3个文件并且②加载ssl模块

①解释:如果只有2个文件,说明自己买的时候自定义了密钥需要自己创建一个后缀为.key的文件并且填入内容
②解释:现在在调ssl故要打开ssl模块输入openssl 之后输入sudo a2enmod ssl

2.2 将这3个文件从本机远程上传到服务器上

解释:本人通过软件filezilla通过window主机直接拖拉的方式添加到目录/etc/apache2/ssl(这个可以自定义位置)[但是需要记住路径]

2.3 配置证书的关键信息

解释:/etc/apache2/sites-available这个目录下面default-ssl.conf对这个进行修改,修改有2-3处


cd /etc/apache2/sites-available
vim default-ssl.conf

在这里插入图片描述
在这里插入图片描述

2.4 映射(插曲)

解释:时刻注意自己的目录与我列出的是否有差异;刷新


sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf
sudo /etc/init.d/apache2 force-reload
sudo /etc/init.d/apache2 restart



2.5 ①write模块打开(为了实现 URL 重写)②同意重定向(跳至https)

sudo a2enmod rewrite
②解释:编辑文件vim /etc/apache2/apache2.conf更改图示位置为All看清楚

在这里插入图片描述

2.6 创建导向关键文件

解释:该需要创建目录在网站文件放置目录下/var/www/html先创建再编辑最后添加代码。以下代码可以强制aa.cn 跳转至 www.aa.cn;该代码也可跳https。


touch .htaccess
vim .htaccess

RewriteEngine on
RewriteCond   %{HTTPS} !=on
RewriteRule   ^(.*)  https://www.你自己的域名.cn/$1 [L,R=301]

2.7 重启

sudo /etc/init.d/apache2 force-reload
sudo /etc/init.d/apache2 restart

3. 配置密钥登录(禁止密码登录)

ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host

1.安装密钥
cd .ssh
cat id_rsa.pub >> authorized_keys

2.配置权限
chmod 600 authorized_keys
chmod 700 ~/.ssh
3.编辑 /etc/ssh/sshd_config 文件(禁止密码登录)
在这里插入图片描述
4.重启
service ssh reload
5.自行把/root/.ssh/目录下的id_rsa移到想要远程连接的主机(登录时候用)

4.配置定时发送日志邮件

本人主机Ubuntu 20.04

4.1 安装heirloom-mailx

解释:直接安装出现英文报错,大概意思找不到软件源头。
解决:

  1. 打开文件vim /etc/apt/sources.list
  2. 自行写入–deb http://cz.archive.ubuntu.com/ubuntu xenial main universe
  3. 安装:sudo apt-get update + sudo apt install heirloom-mailx

4.2 配置发送者

  1. 打开vim /etc/s-nail.rc
  2. 添加在末尾
set from="自己的邮箱@qq.com"
set smtp="smtps://smtp.qq.com:465"
set smtp-auth-user="自己的邮箱@qq.com"
set smtp-auth-password="whjkhxxabcwhiaklga" #填写自己去qq邮箱获取的授权码
set smtp-auth=login  

4.3 发送邮件

  1. echo ‘邮件内容’ | s-nail -s ‘’ 192555@qq.com (subject-主题)
  2. s-nail -s 'Text message' -a /home/user/message.txt example@qq.com(attachment-附件)

4.4 crontab(cron-断续器)

4.4.1 启动与关闭

解释:该软件默认安装但是可能需要启动。

  1. service cron start
  2. service cron stop
4.4.2 执行定时任务

解释:crontab -e(edit-编辑)crontab -l(list-列表)

  1. 格式①:* * * * * bash(*分钟 *小时 *日号 *月号 *星期几)-例如每天的9:43执行43 9 * * * 每周五9:33执行 33 9 * * 5每小时第10分钟执行 10 * * * *
  2. 格式②:*/1 * * * * 表示每一分钟发送一次。
  3. 格式③:* 5,6 * * * 表示每天五点和六点各执行一次。
  4. 发送邮件:crontab -e底部编辑加入50 6 * * * echo '这是文章的主要内容' | s-nail -s 'title' 99699@qq.com

更多跳转:linux学习笔记√

### 安装 s-nail 在 CentOS 9 系统中,可以通过 `dnf` 安装 `s-nail` 工具: ```bash dnf install s-nail -y ``` 安装完成后,验证是否成功: ```bash mail --version ``` 如果系统提示找不到命令,可以尝试使用 `s-nail` 命令代替 `mail`。 --- ### 配置 s-nail 使用外部邮箱发送邮件 为了通过外部邮箱(如 QQ 邮箱)发送报警邮件,需编辑 `/etc/s-nail.rc` 文件。该文件用于配置邮件客户端的全局参数[^1]: ```bash vim /etc/s-nail.rc ``` 在文件末尾添加以下内容(以 QQ 邮箱为例): ```bash set from=your-qq@qq.com set smtp=smtp.qq.com set smtp-auth-user=your-qq@qq.com set smtp-auth-password=your-authorization-code set smtp-auth=login set ssl-verify=ignore ``` 另一种格式也可使用,如下所示: ```bash set v15-compat set from=your-qq@qq.com set mta=smtp://your-qq%40qq.com:your-authorization-code@smtp.qq.com set smtp-use-starttls set smtp-auth=login ``` 请将上述配置中的 `your-qq@qq.com` 和 `your-authorization-code` 替换为实际使用的 QQ 邮箱账号和授权码。 --- ### 启用 QQ 邮箱的 SMTP 服务并获取授权码 登录 QQ 邮箱后,在“设置” → “账户” 中启用 POP3/SMTP 服务,并发送短信验证码至指定号码(如 1069 0700 69),以获取授权码[^2]。 --- ### 测试邮件发送功能 完成配置后,可通过以下命令测试邮件发送功能: ```bash echo "This is the body of the test email." | mail -s "Test Email" recipient@example.com ``` 若未收到邮件,可检查 `/var/log/maillog` 日志文件排查问题: ```bash tail -f /var/log/maillog ``` --- ### 处理 SSL 证书警告 由于使用了 `ssl-verify=ignore` 参数,可能会出现证书验证警告。为避免此问题,可以手动下载并信任 QQ 邮箱的 SSL 证书: ```bash mkdir -p ~/.certs/ echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt certutil -L -d ~/.certs ``` 之后更新 `s-nail.rc` 配置文件,添加证书路径: ```bash set ssl-ca-file=~/.certs/qq.crt ``` --- ### 结合脚本实现自动报警 可编写脚本定期检查系统状态(如磁盘空间、CPU 使用率等),并在发现异常时触发邮件通知。例如,使用 Bash 脚本实现磁盘空间监控: ```bash #!/bin/bash # 获取磁盘使用情况 disk_usage=$(df -h | grep "/dev/sda" | awk '{print $5}' | tr -d '%') # 判断是否超过阈值(如85%) if [ "$disk_usage" -gt 85 ]; then echo "Disk usage is over 85%! Current usage: ${disk_usage}%" | mail -s "Disk Usage Alert" admin@example.com fi ``` 将该脚本加入定时任务(crontab),实现周期性执行: ```bash crontab -e ``` 添加如下条目(每小时执行一次): ```bash 0 * * * * /path/to/monitor_script.sh ``` ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值