From 0f6159a9d2587379ecb7bf0666e261d92eb73280 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B0?= <3323846184@qq.com> Date: Mon, 24 Jun 2024 13:49:04 +0800 Subject: [PATCH 1/4] =?UTF-8?q?'=E4=BD=9C=E4=B8=9A'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...347\275\262SSL\350\257\201\344\271\246.md" | 8 +-- ...15\345\212\241\347\256\241\347\220\206.md" | 25 ++++++- ...3\200\201nginx\345\205\261\345\255\230.md" | 69 +++++++++++++++++++ 3 files changed, 95 insertions(+), 7 deletions(-) create mode 100644 "26 \351\231\210\347\202\263\351\221\253/20240624 Apache \345\256\211\350\243\205\343\200\201\351\203\250\347\275\262SSL\350\257\201\344\271\246\343\200\201nginx\345\205\261\345\255\230.md" diff --git "a/26 \351\231\210\347\202\263\351\221\253/20240607 Nginx\351\203\250\347\275\262SSL\350\257\201\344\271\246.md" "b/26 \351\231\210\347\202\263\351\221\253/20240607 Nginx\351\203\250\347\275\262SSL\350\257\201\344\271\246.md" index a8f9c93..731f38d 100644 --- "a/26 \351\231\210\347\202\263\351\221\253/20240607 Nginx\351\203\250\347\275\262SSL\350\257\201\344\271\246.md" +++ "b/26 \351\231\210\347\202\263\351\221\253/20240607 Nginx\351\203\250\347\275\262SSL\350\257\201\344\271\246.md" @@ -11,18 +11,14 @@ 以下以阿里云为例子申请免费的SSL证书: 1. 阿里云官网:[阿里云-计算,为了无法计算的价值 (aliyun.com)](https://www.aliyun.com/) - 2. 登录自己的账号后,搜索"数字证书管理服务"点击选购SSL证书网页加载后击空白处进入控制台 ![05356a1793044ea0dec93b735130687.png](https://s2.loli.net/2024/06/12/nU1WwgcaQS8qTAo.png) - 3. 点击免费证书后选择购买证书![a5839ab80c968675e62733b8cff4ee8.png](https://s2.loli.net/2024/06/12/isvYOquotQaD3B6.png)勾选已阅读并同意服务协议立即购买即可,按照操作支付即可 支付成功后返回 数字证书管理服务控制台 - 4. 点击创建证书 选择默认证书 输入要绑定的域名后勾选"勾选并且完善以下信息,付款后将直接提交证书申请请求,签发速度更快"选项,填写必填信息后提交审核即可,后续按照选择的域名验证方式及签发所需的验证信息进入域名DNS解析 添加对应主机名、类型、记录值的DNS记录等待签发即可。![133a8e2694b4c578a84eab72620bcbc.png](https://s2.loli.net/2024/06/12/Ue8GXidgI7f2MmC.png) - 5. 签发成功后点击下载根据自己服务器所对应的类型下载对应的证书文件![2b2ed125f08954a63b26c5934bae147.png](https://s2.loli.net/2024/06/12/rYswg3d9QHbi8VN.png) - # 2.部署SSL证书 +# 2.部署SSL证书 - 将第一部分下载的SSL证书文件压缩包里的文件 解压并上传至自己网站所在的服务器里 +- 1. 将第一部分下载的SSL证书文件压缩包里的文件 解压并上传至自己网站所在的服务器里 以下 以Debian系统安装Nginx服务器为例: diff --git "a/26 \351\231\210\347\202\263\351\221\253/20240620 Linux\350\277\233\347\250\213\347\256\241\347\220\206\343\200\201\346\234\215\345\212\241\347\256\241\347\220\206.md" "b/26 \351\231\210\347\202\263\351\221\253/20240620 Linux\350\277\233\347\250\213\347\256\241\347\220\206\343\200\201\346\234\215\345\212\241\347\256\241\347\220\206.md" index b204a91..26bd8da 100644 --- "a/26 \351\231\210\347\202\263\351\221\253/20240620 Linux\350\277\233\347\250\213\347\256\241\347\220\206\343\200\201\346\234\215\345\212\241\347\256\241\347\220\206.md" +++ "b/26 \351\231\210\347\202\263\351\221\253/20240620 Linux\350\277\233\347\250\213\347\256\241\347\220\206\343\200\201\346\234\215\345\212\241\347\256\241\347\220\206.md" @@ -126,6 +126,8 @@ systemctl 参数 指令 服务名 service命令的功能是管理系统服务,是早期红帽公司发行的Linux系统中最常见的命令之一,主要用于RHEL 7/CentOS 7版本以前的系统,能够启动、停止、重启或关闭指定服务程序,亦能查看服务的运行状态信息。 +service是个抽象接口会自动识别Linux的服务管理程序是 systemd 还是 systemV 来具体实现服务管理 + ### 语法: ```bash @@ -136,4 +138,25 @@ service 服务名 参数 ### 和systemctl不同点: -不同服务可用的参数不一样 ,有的是有所有参数 ,有的是只有stop start参数,现在大多是使用systemctl进行管理 \ No newline at end of file +不同服务可用的参数不一样 ,有的是有所有参数 ,有的是只有stop start参数,现在大多是使用systemctl进行管理 + +## 3、init + +### 介绍: + +历史上,Linux 的启动一直采用init 进程。 + +在类Unix 的计算机操作系统中,Init(初始化的简称)是在启动计算机系统期间启动的第一个进程。 + +Init 是一个守护进程,它将持续运行,直到系统关闭。它是所有其他进程的直接或间接的父进程。 + +### 语法: + +```bash +cd /etc/init.d +./服务名 参数 +/etc/init.d/服务名 参数 +#参数类似于service的参数 具体根据服务名来 tab键查看可用命令 +``` + +init是历史遗留产物,现在多用systemctl进行管理 \ No newline at end of file diff --git "a/26 \351\231\210\347\202\263\351\221\253/20240624 Apache \345\256\211\350\243\205\343\200\201\351\203\250\347\275\262SSL\350\257\201\344\271\246\343\200\201nginx\345\205\261\345\255\230.md" "b/26 \351\231\210\347\202\263\351\221\253/20240624 Apache \345\256\211\350\243\205\343\200\201\351\203\250\347\275\262SSL\350\257\201\344\271\246\343\200\201nginx\345\205\261\345\255\230.md" new file mode 100644 index 0000000..34e96ca --- /dev/null +++ "b/26 \351\231\210\347\202\263\351\221\253/20240624 Apache \345\256\211\350\243\205\343\200\201\351\203\250\347\275\262SSL\350\257\201\344\271\246\343\200\201nginx\345\205\261\345\255\230.md" @@ -0,0 +1,69 @@ +# Apache 安装、部署SSL证书、nginx共存 + +## 1.安装Apache + +对于debain系统: + +```bash +sudo apt update +sudo apt install apache2 -y +``` + +配置文件存在于:/etc/apache2 该目录下 + +## 2.nginx共存 + +要想Apache和nginx同时运行,需要保证端口不会冲突 + +要么修改Apache的监听端口要么修改nginx的监听端口 + +```bash +vim /etc/nginx/conf.d/*.conf #修改nginx网站的监听端口 +vim /etc/apache2/ports.conf /etc/apache2/sites-enabled/*.conf #修改Apache网站的监听端口 +``` + +## 3.部署SSL证书 + +和nginx一样Apache支持不同网站不同.conf文件进行管理目录任意只要Apache主配置文件能够加载到就行 个人建议是放在sites-enabled,Apache默认网站也在这里方便管理 + +SSL证书获取方式参考之前的nginx部署SSL证书.md + +### http区块: + +对于http访问需要配置监听端口、网站目录、域名、日志路径等,和nginx类似但是代码块名称、关键字名称不同 + +```bash + + +``` + +### https区块: + +和http区块一样但是要额外配置SSL证书,配置方式和nginx一样但是证书格式不一样,同时也可以设置http重定向到https + +``` + + ServerName 你自己的域名 + ServerAlias 域名的别名 + ServerAdmin webmaster@localhost + DocumentRoot 你自己网站的目录 + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + SSLEngine on + SSLHonorCipherOrder on + SSLProtocol TLSv1.1 TLSv1.2 TLSv1.3 + SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4 + SSLCertificateFile 你自己的证书public.crt文件路径 + SSLCertificateKeyFile 你自己证书.key文件路径 + SSLCertificateChainFile 你自己证书chain.crt文件路径 + +``` + -- Gitee From 661bdfd17a1424739c83cdfe7adde5f7b60659b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B0?= <3323846184@qq.com> Date: Sun, 30 Jun 2024 21:10:03 +0800 Subject: [PATCH 2/4] =?UTF-8?q?'=E4=BD=9C=E4=B8=9A'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21\347\273\234\347\256\241\347\220\206.md" | 242 ++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 "26 \351\231\210\347\202\263\351\221\253/20240625 Linux\347\275\221\347\273\234\347\256\241\347\220\206.md" diff --git "a/26 \351\231\210\347\202\263\351\221\253/20240625 Linux\347\275\221\347\273\234\347\256\241\347\220\206.md" "b/26 \351\231\210\347\202\263\351\221\253/20240625 Linux\347\275\221\347\273\234\347\256\241\347\220\206.md" new file mode 100644 index 0000000..76828ba --- /dev/null +++ "b/26 \351\231\210\347\202\263\351\221\253/20240625 Linux\347\275\221\347\273\234\347\256\241\347\220\206.md" @@ -0,0 +1,242 @@ +## 网络管理 + +一、概述 + +Linux系统的网络管理主要包括网络参数配置、网卡启停操作、路由配置和网络连接查看等内容。这些操作对于保证系统的正常运行和与外部网络的通信至关重要。在进行网络管理时,需要了解一些基本的网络概念,如IP地址、子网掩码、网关等。 + +二、网络参数配置 + +在Linux系统中,网络参数的配置通常涉及到修改网络配置文件。常见的网络配置文件有`/etc/network/interfaces`和`/etc/sysconfig/network-scripts/ifcfg-`等。这些文件用于定义网络接口的参数,如IP地址、子网掩码、网关等。 + +配置网卡接口的IP地址:`sudo vim /etc/network/interfaces`。 + +1. 重启网络服务,使用命令`sudo service networking restart`或`sudo /etc/init.d/networking restart`。 +2. 验证IP地址是否生效,可以使用命令`ip addr show eth0`或`ifconfig eth0`。 + +三、网卡启停操作 + +在Linux系统中,网卡的启停操作可以通过命令行工具完成。常用的命令有`ifdown`和`ifup`等。ififip + +- 禁用网卡接口,使用命令`sudo ifdown `。 + +!!!不要随便用,否则就会使ip相关的服务都被禁用掉 + +- 启用网卡接口,使用命令`sudo ifup `。 + +注意:在禁用网卡接口后,该接口将无法发送和接收数据。在启用网卡接口之前,确保相关的网络服务已经正确配置并启动。 + +四、路由配置 + +在Linux系统中,可以使用`route`命令或`ip route`命令来配置路由表。 + +- `ip address ` 查看本机 IP 地址命令 +- `ip route` 查看路由表信息 + +五、网络配置 + +ipconfig命令是用来查看和配置网络设备 ,例如:IP地址 ,子网掩码,网关,及DNS等。ipconfig命令用于windows系统环境下显示当前物理机的配置信息。 + +| ipconfig | 显示信息 | +| --------------- | -------------- | +| ipconfig /renew | 更新所有适配器 | +| ipconfig /all | 显示详细信息 | + +ifconfig英文全称是 : network interfaces configuring + +ifconfig命令用于配置GNU/Linux系统的网络接口。它显示网络接口卡的详细信息,包括IP地址,MAC地址,以及网络接口卡状态之类,通常需要以root身份。ifconfig命令用于linux系统环境下显示当前虚拟机的配置信息。 + +| ifconfig | 查看网络接口状态(当前激活的网络接口情况) | +| ------------- | ------------------------------------------ | +| ifconfig -a | 查看主机所有网络接口的情况 | +| ifconfig eth0 | 查看某个(eth0)端口状态 | + +!!!Linux用ifconfig而Windows用ipconfig! + +六、网络状态 + +netstat 命令用于显示网络状态。(netstat 旧 ss 新) + +```bash +netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip] +``` + +参数: + +- -a或--all 显示所有连线中的Socket。 +- -l或--listening 显示监控中的服务器的Socket。 +- -i或--interfaces 显示网络界面信息表单。(网卡列表信息) +- -g或--groups 显示多重广播功能群组组员名单。(组播组关系) +- -p或--programs 显示正在使用Socket的进程。 +- -n或--numeric 直接使用IP地址,而不通过域名服务器。 +- -t或--tcp 显示TCP传输协议的连线状况。 +- -u或--udp 显示UDP传输协议的连线状况。 + +七、路由追踪 + +traceroute [参数] [主机] + +- -d 使用Socket层级的排错功能。 +- -f 设置第一个检测数据包的存活数值TTL的大小。 +- -g 设置来源路由网关,最多可设置8个。 +- -i 使用指定的网络界面送出数据包。 +- -I 使用ICMP回应取代UDP资料信息。 +- -m 设置检测数据包的最大存活数值TTL的大小。 +- -n 直接使用IP地址而非主机名称。 +- -p 设置UDP传输协议的通信端口。 +- -r 忽略普通的Routing Table,直接将数据包送到远端主机上。 +- -s 设置本地主机送出数据包的IP地址。 +- -v 详细显示指令的执行过程。 +- -w 设置等待远端主机回报的时间。 + +八、文件下载 + +wget是一个下载文件的工具,它用在命令行下。它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来方便简单。 + +- 下载单个文件(当前目录) `wegt 链接` + +- 使用下载并另存为 `wget -O 文件名 链接` + +- 限速下载 `wget –limit -rate 链接` + +- 断点续传 `wget -c 链接` + +- 后台下载 `wget -b 链接` + +- 下载多个文件 `wget -i 链接` + +九、数据获取 + +curl 是常用的命令行工具,用来请求 Web 服务器。 + +不带有任何参数时,curl 就是发出 GET 请求。 + +`curl https://www.example.com` + +上面命令向`www.example.com`发出 GET 请求,服务器返回的内容会在命令行输出。 + +十、P开头的命令 + +- ps/pstree 显示当前进程 +- killall 结束对应所有进程 +- pkill pgrep+kill +- pgrep 模糊查询对应的pidof + +十一、主流Linux家族 + +- RedHat:redhat、centos + - rpm包 + - yum安装 + - 防火墙(iptables=>firewalls) +- Debian:debain、Ubuntu + - .deb包 dpkg包 + - apt安装 + - 防火墙ufw + +十二、防火墙 + +防火墙ufw,默认是禁用(Ubuntu默认,Debian需自行安装) + +- 可检查防火墙的状态: + + ufw status + +- 防火墙版本: + + ufw version + +- 开启/关闭防火墙: + + ufw enable|disable + +**1.安装** +sudo apt-get install ufw + +**2.启用** +sudo ufw enable +sudo ufw default deny +运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。 + +**3.开启/禁用** +sudo ufw allow|deny [service] + +打开或关闭某个端口,例如: +sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口 +sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口 +sudo ufw allow 53 允许外部访问53端口(tcp/udp) +sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口 +sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53 +sudo ufw deny smtp 禁止外部访问smtp服务 +sudo ufw delete allow smtp 删除上面建立的某条规则 + +**4.查看防火墙状态** +ufw status + +**开启/关闭防火墙 (默认设置是’disable’)** +ufw enable|disable + +**5.设置默认策略** +ufw default allow|deny + +许 可或者屏蔽端口 可以用"协议:端口"方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。 ‘allow’ 参数将把条目加入 /etc/ufw/maps ,而 ‘deny’ 则相反。基本语法如下: + +ufw allow|deny [service] + +显示防火墙和端口的侦听状态,括号中的数字将不会被显示出来。 +ufw status + +**UFW 使用范例:** + +- 允许/禁用 53 端口 + + ufw allow/delete 53 + +- 允许/禁用 80 端口 + + ufw allow/delete allow 80/tcp + +- 允许 smtp 端口 + + ufw allow smtp + +- 删除 smtp 端口的许可 + + ufw delete allow smtp + +- 允许某特定 IP + + ufw allow from 192.168.254.254 + +- 删除上面的规则 + + ufw delete allow from 192.168.254.254 + +- 列出服务器上可用的所有应用程序配置文件 + + ufw app list + +- 查找有关配置文件和包含规则的更多信息,可以使用以下命令: + + ufw app info 'OpenSSH' + +十三、ssh登录 + +- ssh 用户名@主机IP地址 端口号 +- ssh -l 用户名 主机IP地址 端口号 +- -p 映射的端口号 + +十四、其他 + +- fdisk 管理磁盘分区 + +- du -sh 目录 汇总查看目录内存大小 + +- wc(word count)统计数量 + +- chkconfig 主要用来更新(启动或停止)和查询系统服务的运行级信息 + + `chkconfig [–add][–del][–list`][系统服务] + + - –add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。 + + - –del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。 + - –list [name]:显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。 \ No newline at end of file -- Gitee From a9409c242e40448a5c427bcd1755cb376f5bf2d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B0?= <3323846184@qq.com> Date: Mon, 1 Jul 2024 19:09:44 +0800 Subject: [PATCH 3/4] =?UTF-8?q?'=E4=BD=9C=E4=B8=9A'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\200\201MySQL\345\256\211\350\243\205.md" | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 "26 \351\231\210\347\202\263\351\221\253/20240701 Linux \346\216\222\345\272\217\343\200\201\345\216\273\351\207\215\343\200\201MySQL\345\256\211\350\243\205.md" diff --git "a/26 \351\231\210\347\202\263\351\221\253/20240701 Linux \346\216\222\345\272\217\343\200\201\345\216\273\351\207\215\343\200\201MySQL\345\256\211\350\243\205.md" "b/26 \351\231\210\347\202\263\351\221\253/20240701 Linux \346\216\222\345\272\217\343\200\201\345\216\273\351\207\215\343\200\201MySQL\345\256\211\350\243\205.md" new file mode 100644 index 0000000..c9bd430 --- /dev/null +++ "b/26 \351\231\210\347\202\263\351\221\253/20240701 Linux \346\216\222\345\272\217\343\200\201\345\216\273\351\207\215\343\200\201MySQL\345\256\211\350\243\205.md" @@ -0,0 +1,73 @@ +# 一、排序 + +sort + +简介:sort命令的功能是对文件内容进行排序。有时文本中的内容顺序不正确,一行行地手动修改实在太麻烦了。此时使用sort命令就再合适不过了,它能够对文本内容进行再次排序。 + +语法: + +```bash +sort 参数 文件 +#参数参考https://www.linuxcool.com/sort +#常用:-t 指定分隔符 -n按数值排列 -r反序 -k num 对num列进行排序 num 可以是多个以逗号隔开 也可以是以点隔开 +#如 1,3 表示 第一列到第三列 1.2 表示 第一列第二个字符 +sort -t '' -k num filename.filetype +``` + +# 二、去重 + +uniq + +简介: + +uniq命令来自英文单词unique的缩写,中文译为“独特的、唯一的”,其功能是去除文件中的重复内容行。uniq命令能够去除掉文件中相邻的重复内容行,如果两端相同内容,但中间夹杂了其他文本行,则需要先使用sort命令进行排序后再去重,这样保留下来的内容就都是唯一的了。 + +语法: + +```bash +uniq 参数 文件 +#参数参考https://www.linuxcool.com/uniq +#常于sort配合使用 +#常用:-c显示重复的次数 +uniq -c 文件 +``` + +# 三、安装MySQL + +1. 先从MySQL官网下载MySQL APT Repository的.deb包然后使用dpkg命令安装该deb包 + + ```bash + wget https://repo.mysql.com//mysql-apt-config_0.8.30-1_all.deb + dpkg -i mysql-apt-config_0.8.13-1_all.deb + ``` + + 配置除了MySQL Preview Packages 可以改成enable 其余默认就行 + + ![image.png](https://s2.loli.net/2024/07/01/azGm9VEyRO21Yr6.png) + +2. 此时才能用apt 安装mysql-server组件,未安装第一步的deb包会报错提示没有该包 + + ```bash + apt-get update + apt-get install mysql-server -y + ``` + + 安装期间会让设置root密码,其余默认就行 + +3. 此时 可以使用命令查看版本和连接数据库 + + ```bash + mysql --version + mysql -u root -p #会让用户输入root密码 输入正确密码后 提示符变为 mysql> + ``` + + 此时已经进入到mysql数据库模式,但还不是可视化界面若要让其余主机能访问到还需要对用户进行设置 + + ```sql + CREATE USER 'USERNAME'@'%' IDENTIFIED BY 'PASSWD';#创建作用域为任意主机的用户 + GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' WITH GRANT OPTION;#赋予所有权限 + FLUSH PRIVILEGES;#刷新权限列表 + ``` + + 之后就可以使用刚刚创建的作用在所有主机的用户进行远程访问数据库 + -- Gitee From 6ef492348c6099613b356e8d2c3a672efb921818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B0?= <3323846184@qq.com> Date: Tue, 2 Jul 2024 19:19:31 +0800 Subject: [PATCH 4/4] =?UTF-8?q?'=E4=BD=9C=E4=B8=9A'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\200\201nginx\345\205\261\345\255\230.md" | 36 ++++++++++++-- ...3\200\201MySQL\345\256\211\350\243\205.md" | 2 +- ...nux postgreSQL\345\256\211\350\243\205.md" | 49 +++++++++++++++++++ 3 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 "26 \351\231\210\347\202\263\351\221\253/20240702 Linux postgreSQL\345\256\211\350\243\205.md" diff --git "a/26 \351\231\210\347\202\263\351\221\253/20240624 Apache \345\256\211\350\243\205\343\200\201\351\203\250\347\275\262SSL\350\257\201\344\271\246\343\200\201nginx\345\205\261\345\255\230.md" "b/26 \351\231\210\347\202\263\351\221\253/20240624 Apache \345\256\211\350\243\205\343\200\201\351\203\250\347\275\262SSL\350\257\201\344\271\246\343\200\201nginx\345\205\261\345\255\230.md" index 34e96ca..de3380a 100644 --- "a/26 \351\231\210\347\202\263\351\221\253/20240624 Apache \345\256\211\350\243\205\343\200\201\351\203\250\347\275\262SSL\350\257\201\344\271\246\343\200\201nginx\345\205\261\345\255\230.md" +++ "b/26 \351\231\210\347\202\263\351\221\253/20240624 Apache \345\256\211\350\243\205\343\200\201\351\203\250\347\275\262SSL\350\257\201\344\271\246\343\200\201nginx\345\205\261\345\255\230.md" @@ -33,23 +33,25 @@ SSL证书获取方式参考之前的nginx部署SSL证书.md 对于http访问需要配置监听端口、网站目录、域名、日志路径等,和nginx类似但是代码块名称、关键字名称不同 ```bash - ServerAdmin webmaster@localhost ServerName 域名 ServerAlias 别名 DocumentRoot 你自己的网站目录 #设定http直接访问 - Redirect permanent / https://你自己的域名如果端口不是默认的443要使用域名:端口/ #重定向到https ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined - ``` ### https区块: -和http区块一样但是要额外配置SSL证书,配置方式和nginx一样但是证书格式不一样,同时也可以设置http重定向到https +和http区块一样但是要额外配置SSL证书,配置方式和nginx一样但是证书格式不一样 +```bash +a2enmod ssl #手动开启Apache的SSL模块 后再修改配置文件 ``` + +```bash ServerName 你自己的域名 ServerAlias 域名的别名 @@ -67,3 +69,29 @@ SSL证书获取方式参考之前的nginx部署SSL证书.md ``` +### http重定向跳转到https + +Apache 也可以设置HTTP重定向到HTTPS写法多种 以下是个人喜欢的写法 + +```bash +vim /etc/apache2/apache2.conf +#原代码 : +# +# Options Indexes FollowSymLinks +# AllowOverride None +# Require all granted +# +#修改后: +# +# Options Indexes FollowSymLinks +# AllowOverride all +# Require all granted +# 开启.htaccess功能 +vim /var/www/你自己网站/.htaccess #创建或编辑.htaccess文件 +#添加以下内容: +# RewriteEngine On +# RewriteCond %{HTTPS} off +# RewriteRule ^(.*) https://%{SERVER_NAME}:你自己的端口/ [R=301,L] +a2enmod rewrite #手动开启Apache的rewrite模块 +``` + diff --git "a/26 \351\231\210\347\202\263\351\221\253/20240701 Linux \346\216\222\345\272\217\343\200\201\345\216\273\351\207\215\343\200\201MySQL\345\256\211\350\243\205.md" "b/26 \351\231\210\347\202\263\351\221\253/20240701 Linux \346\216\222\345\272\217\343\200\201\345\216\273\351\207\215\343\200\201MySQL\345\256\211\350\243\205.md" index c9bd430..0c6acc1 100644 --- "a/26 \351\231\210\347\202\263\351\221\253/20240701 Linux \346\216\222\345\272\217\343\200\201\345\216\273\351\207\215\343\200\201MySQL\345\256\211\350\243\205.md" +++ "b/26 \351\231\210\347\202\263\351\221\253/20240701 Linux \346\216\222\345\272\217\343\200\201\345\216\273\351\207\215\343\200\201MySQL\345\256\211\350\243\205.md" @@ -38,7 +38,7 @@ uniq -c 文件 ```bash wget https://repo.mysql.com//mysql-apt-config_0.8.30-1_all.deb - dpkg -i mysql-apt-config_0.8.13-1_all.deb + dpkg -i mysql-apt-config_0.8.30-1_all.deb ``` 配置除了MySQL Preview Packages 可以改成enable 其余默认就行 diff --git "a/26 \351\231\210\347\202\263\351\221\253/20240702 Linux postgreSQL\345\256\211\350\243\205.md" "b/26 \351\231\210\347\202\263\351\221\253/20240702 Linux postgreSQL\345\256\211\350\243\205.md" new file mode 100644 index 0000000..4437401 --- /dev/null +++ "b/26 \351\231\210\347\202\263\351\221\253/20240702 Linux postgreSQL\345\256\211\350\243\205.md" @@ -0,0 +1,49 @@ +# Debian 安装postgreSQL + +## 1、安装postgreSQL + +对于Debian系统,APT软件包管理就有postgreSQL + +postgreSQL官网:[PostgreSQL: Linux downloads (Debian)](https://www.postgresql.org/download/linux/debian/) + +```bash +apt update +apt install postgresql -y +sudo -u postgres psql -c "SELECT version();" #验证postgreSQL版本 若出现:PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit 类似该提示及表示安装成功 +``` + +## 2、配置postgreSQL + +修改管理密码(我个人安装过程中并未弹出密码设置页面,其他人我就不知道了) + +```bash +sudo -i -u postgres #切换到postgres用户 +psql #进入postgreSQL shell +ALTER USER postgres PASSWORD 'new_password'; #修改postgres的密码 +\q #退出postgreSQL shell +psql -U postgres -W #验证登录 +``` + +此时就可以用新密码在本地登录到postgreSQL + +要想配置远程访问需要修改两个配置文件 1.**postgresql.conf** 2. **pg_hba.conf** + +```bash +vim /etc/postgresql/你安装的版本号/main/postgresql.conf +#原代码:“#listen_addresses = 'localhost'” +#修改后:“listen_addresses = '*'” *表示任意主机 +vim /etc/postgresql/你安装的版本号/main/pg_hba.conf +#在文件末尾追加:“host all all 0.0.0.0/0 md5” +``` + +此时可以从任意主机使用默认端口访问到postgreSQL + +## 3、配置Navicat + +对于Navicat 17以下版本,由于postgreSQL 15及以上版本字段修改,会导致连接postgreSQL出现以下报错: + +![900e28cfa7cf43c991f12a5ee76e4e2.png](https://s2.loli.net/2024/07/02/XNYshtMRoZ2Jfda.png) + +此时需要修改Navicat安装路径下的libcc.dll文件,该文件需要十六进制编辑器,在线编辑网址:https://hexed.it + +使用该网站打开libcc.dll(请自行提前备份该文件)查找"SELECT DISTINCT datlastsysoid" 替换为 "SELECT DISTINCT dattablespace" 后生成新的名为libcc.dll的dll文件并将原文件进行替换即可 \ No newline at end of file -- Gitee