Centos7.6服务器常用配置
Centos7.6服务器常用配置
安全
更换账户
- 创建用户
1 | useradd testuser |
- 为用户设置密码
1 | passwd testuser |
- 给用户添加权限
- 为sudoers文件添加可写权限
1 | chmod -v u+w /etc/sudoers |
- 打开sudoers文件
1 | vim /etc/sudoers |
按Insert或者I键进入编辑模式
- 加入下段代码
1 | root ALL=(ALL) ALL #原本root的权限 |
- 保存
先按下Esc
紧接着光标会跳到最下面输入:wq
后保存退出
- 取消sudoers文件可写权限
1 | chmod -v u-w /etc/sudoers |
禁止root用户远程登录并更换SSH端口
SSH原本的22端口会经常被扫描而且root用户也会被暴力破解密码
密码一定要够复杂,端口越偏僻越好,能不用root就不用root。我就有过不少被黑的经历,只改了密码16位的大小写、数字标点混合依旧被暴力破解了密码,数据全丢要我0.3比特币,无奈忍痛重置服务器。
- 禁止root远程登录
- 编辑sshd_config
1 | vim /etc/ssh/sshd_config |
找到#PermitRootLogin Yes
将前面的#
去掉,将yes
改为no
。
- 重启sshd服务
1 | systemctl restart sshd |
- 修改SSH端口号
首先将需要的端口号从防火墙中放行,这里拿10000
做例子,Centos7.x默认防火墙为firewall
- 开启端口
1 | firewall-cmd --zone=public --add-port=10000/tcp --permanent |
- 重启防火墙
1 | firewall-cmd --reload |
- 查看已开放的端口号
1 | firewall-cmd --list-port |
- 编辑sshd_config
1 | vi /etc/ssh/sshd_config |
找到#Port 22
将前面的#
去掉,将22
改为10000
。
最下面也有一个Port 22
记得删掉或者从这改也行
- 重启sshd服务
1 | systemctl restart sshd |
- SSH连接超时自动断开
- 编辑sshd_config
1 | vi /etc/ssh/sshd_config |
找到#ClientAliveInterval 0
将前面的#
去掉,将0
改为60
。
找到#ClientAliveCountMax 3
将前面的#
去掉,将3
改为5
,也可以保持默认。
常用服务
更换源
为了后续有个良好的下载体验,我们将仓库更换为阿里的源
进入放源文件的位置,全删除就行
1 | cd /etc/yum.repos.d/ |
下载阿里仓库的源文件
1 | wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
清除并更换新的源文件
1 | yum clean all |
JDK
从官网下载jdk包,放到你想要的地方
解压
1 | tar -xzvf jdk-11.0.8_linux-x64_bin.tar.gz |
给解压后的文件夹重命名
1 | mv jdk-11.0.8_linux-x64_bin jdk11 |
从jdk9开始就不带jre了需要自己生成,进入jdk的目录
1 | cd /jdk11 |
添加环境变量
1 | sudo vim /etc/profile |
1 | export JAVA_HOME=/home/plaudern/app/jdk11 |
如果将JRE_HOME指向生成后的地址即${JAVA_HOME}/jre
那样会使tomcat无法启动,这个问题只有jdk9即以上才会产生
Mysql8
yum仓库下载MySQL:
1 | sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm |
yum安装MySQL:
1 | sudo yum install mysql-community-server |
启动MySQL服务:
1 | sudo service mysqld start |
检查MySQL服务状态:
1 | sudo service mysqld status |
查看初始密码:
1 | sudo grep 'temporary password' /var/log/mysqld.log |
本地MySQL客户端登录:
1 | mysql -uroot -p |
输入密码为mysqld.log里面的密码
修改root登录密码:
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY '*{your-password}*'; |
然后输入命令刷新使至生效
1 | flush privileges; |
创建新用户,尽量少用root,至于为什么上面写了
1 | create user 'username'@'localhost' identified by 'password'; |
其中username表示用户名,password表示密码。localhost表示只能本地访问,可以通过修改localhost进行访问控制,包括输入指定IP,修改成%达到不限IP访问。
授予用户全部数据库的全部权限
1 | grant all privileges on *.* to 'username'@'%'; |
常见的权限有select,insert,update,delete,create,drop,分别是查、增、改、删、创建、清空,前四种是对表数据的操作,后两种是对表的操作。可根据自己的需要进行权限授予。举例:
授予用户全部test数据库的查询和添加权限
1 | grant select,insert on test to 'username'@'localhost'; |
刷新使命令生效
1 | flush privileges; |
PostgreSQL12.1
安装RPM
1 | yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm |
安装客户端
1 | yum install postgresql12 |
安装服务端
1 | yum install postgresql12-server |
1 | # 初始化数据库 |
修改PostgreSQL远程连接配置
1 | vim /var/lib/pgsql/12/data/pg_hba.conf |
1 | # TYPE DATABASE USER ADDRESS METHOD |
放开远程连接ip限制
1 | vim /var/lib/pgsql/12/data/postgresql.conf |
1 | # - Connection Settings - |
su - postgres
psql
sudo adduser dbuser
sudo passwd dbuser
CREATE DATABASE exampledb OWNER dbuser;
GRANT ALL PRIVILEGES ON DATABASE exampledb TO dbuser;
alter role jiraadmin with superuser;
Redis
Redis 6.0.7 对gcc的版本有要求,需要gcc5.3以上。检查当前gcc版本
1 | gcc -v |
低于5.3这个版本的,执行下面的命令升级一下
1 | yum -y install centos-release-scl |
建立会话使用的gcc
1 | scl enable devtoolset-9 bash |
scl命令启用只是临时的,新开的会话默认还是原gcc版本。
如果要长期使用gcc 9.1的话执行下面的命令即可:
1 | echo -e "\nsource /opt/rh/devtoolset-9/enable" >>/etc/profile |
安装Redis
将下载的Redis解压
1 | wget http://download.redis.io/releases/redis-6.0.7.tar.gz |
进入解压的目录
1 | cd redis-6.0.7 |
先执行 make test
1 | make test |
提示需要 tcl 8.5,安装tcl
1 | yum install tcl |
Gitlab
1.安装相关依赖
1 | yum -y install policycoreutils openssh-server openssh-clients postfix |
2.启动ssh服务&设置为开机启动
1 | systemctl enable sshd && sudo systemctl start sshd |
3.设置postfix开机自启,并启动,postfix支持gitlab发信功能
1 | systemctl enable postfix && systemctl start postfix |
4.开放ssh以及http服务,然后重新加载防火墙列表
1 | firewall-cmd --add-service=ssh --permanent |
5.下载gitlab安装包并安装
1 | curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash |
初始化并启动Gitlab
1 | gitlab-ctl reconfigure |
Tomcat9
从官网下载tomcat9的压缩包
1 | wget https://httpd-mirror.sergal.org/apache/tomcat/tomcat-9/v9.0.39/bin/apache-tomcat-9.0.39.tar.gz |
下载完解压
1 | tar -xzvf apache-tomcat-9.0.39.tar.gz |
为解压后的文件夹该一个短一点的名字
1 | mv apache-tomcat-9.0.39 tomcat9 |
运行tomcat前一定要配置JDK!!!步骤上面有
开放8080端口,不然运行个der啊
1 | firewall-cmd --zone=public --add-port=8080/tcp --permanent |
为tomcat添加自启
进入放启动文件的地方,并新建一个tomcat的启动文件
1 | cd /usr/lib/systemd/system |
里面写入以下内容
1 | [Unit] |
ExecStart
是tomcat启动文件的目录,ExecStop
就是停止文件的目录了,Environment
是JDK的根目录,这里要配置环境变量,在/etc/profile中的配置在系统服务中不生效。
执行命令
1 | systemctl enable tomcat9.service |
之后就可以通过命令来控制tomcat了
1 | # 启动tomcat |
netdata
一个web端的linux服务器性能监控,比起其他高大上的监控软件,这个也很不错就是全英文,更关键的是不需要怎么配置,基本就是一键安装
需要开放默认端口19999
1 | firewall-cmd --zone=public --add-port=19999/tcp --permanent |
1 | # 安装依赖包 |
服务控制命令
1 | # 启动netdata |