Ubuntu Server 22.04 服务器配置。
一、Ubuntu 基本配置
首先,掌握 apt 命令的基本使用:https://itsfoss.com/apt-command-guide/
1. 开启 root 用户远程登录
对于 服务器版本 来说,默认的 root 用户是禁止使用密码登录的(prohibit-password),这里修改允许使用密码进行远程登录。
1# 设置 root 用户的密码
2sudo passwd root
编辑文件 sudo vim /etc/ssh/sshd_config
,找到 #PermitRootLogin prohibit-password
所在的行,去掉注释并修改 prohibit-password
为 yes
,保存退出并重启 sshd 服务。
1systemctl restart sshd
2. apt-get
1# 查看所有的安装软件
2dpkg --list
3# 安装已经下载好的 deb 安装包
4dpkg -i 安装包
5
6# 更新所有可更新的软件包
7sudo apt update && sudo apt upgrade
8
9# 卸载指定软件并删除配置文件
10sudo apt --purge remove 包名
11# 清理不再使用的依赖和库文件
12sudo apt autoremove
3. 禁止使用 snap
snap 可以获取软件的最新版,Ubuntu 逐渐迁移很多软件包到 snap,这样会导致软件不稳定。当然优点也是显而易见的,不过只对开发人员友好。对于个人日常使用、生产环境等场景还是不需要的。
卸载 snap 请参考:https://ubuntuhandbook.org/index.php/2022/04/remove-snap-block-ubuntu-2204/amp/
1# 查看列表
2snap list
3# 卸载所有列表中的软件,有些软件依赖其它组件的,注意先后顺序
4sudo snap remove --purge [soft]
5# 最后卸载 snapd
6sudo apt remove --autoremove snapd
然后编辑文件 sudo vim /etc/apt/preferences.d/nosnap.pref
添加下面的内容禁止 apt 使用 sanp 包。
1# To prevent repository packages from triggering the installation of snap,
2# this file forbids snapd from being installed by APT.
3
4Package: snapd
5Pin: release a=*
6Pin-Priority: -10
之后执行 sudo apt update
,就不会使用 snap 下载了。
4. 安装基础的开发、编译工具
由于最小化的服务器版安装有一些编译库默认是没有安装的,需要用户手动安装,所以这里记一下常用的基础库:
1# gcc/g++/gdb/make 编译工具
2apt-get install build-essential
3# ssl-lib
4apt-get install openssl libssl-dev
5apt-get install zlib1g-dev
5. 时区设置
Ubuntu 可以使用内置的 timedatectl 设置系统的时区。
1# 查看当前的时区
2timedatectl
3# 查看支持的时区列表
4timedatectl list-timezones
5# 是否含有中国时区
6timedatectl list-timezones | grep Asia/Shanghai
7# 设置中国时区
8timedatectl set-timezone Asia/Shanghai
9
10# 无需重启,再次查看
11timedatectl
6. 语言设置
① Ubuntu 22.04 以上
1# 查看当前系统的语言配置
2locale
3# 如果使用的 Ubuntu 22.04 以上使用这个命令将更加简单容易,选择完成之后注销重启
4sudo dpkg-reconfigure locales
5# 再次查看配置
6locale
② Ubuntu 22.04 以下
1# 下面的适用旧版本 Ubuntu 22.04 以下
2# 列出所有启用的区域设置
3locale -a
4
5# 编辑 locale.gen 文件
6# 取消 zh_CN.UTF-8 UTF-8 en_US.UTF-8 UTF-8 两行的注释
7vim /etc/locale.gen
8
9# 编辑保存后,执行以下命令
10locale-gen
11# 显示正在使用的 Locale 和相关的环境变量
12locale
13# 设置整个系统使用的区域设置
14localectl set-locale LANG=zh_CN.UTF-8
15# 立即生效
16unset LANG
如果使用上面的立即生效命令仍然有问题,没有生效,请重启计算机。
7. Vim 配置
Linux 中有很多编辑工具,像 Vim、Nano 等,都是非常不错的,可以使用自己喜欢的。Vim 的全局配置文件在 /etc/vim/vimrc
或者 /etc/vimrc
,对所有用户生效;用户的配置文件一般在 ~/.vimrc
中。
这里修改全局的配置,编辑 {% mark /etc/vim/vimrc color:green %} 文件,没有的话可以手动创建一个。下面给了一些简单实用的配置。
1" 文件编码
2set encoding=utf-8
3set fileencoding=utf-8
4" 自动缩进
5set autoindent
6" 新行智能自动缩进
7set smartindent
8" 状态栏标尺
9set ruler
10" 语法高亮 vim5 之后默认开启
11set syntax=on
12" Tab键的宽度
13set tabstop=4
14" 搜索忽略大小写
15set ignorecase
16" 高亮显示匹配的括号
17set showmatch
18" 总是显示行号
19set nu
20
21" 侦测文件类型
22filetype on
23
24" 状态行显示的内容(包括文件类型和解码)
25set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
26" 总是显示状态行
27set laststatus=2
28" 高亮搜索的文本
29set hlsearch
二、常用软件
1. Redis
1wget https://download.redis.io/redis-stable.tar.gz
2tar -xzvf redis-stable.tar.gz
3cd redis-stable
4make && make install
5redis-server &
2. MySQL
apt-get安装:https://blog.lanluo.cn/8662
3. Docker
1# 卸载旧版本
2sudo apt-get remove docker docker-engine docker.io containerd runc
3sudo apt-get update
4sudo apt-get install \
5 ca-certificates \
6 curl \
7 gnupg \
8 lsb-release
9
10# Add Docker’s official GPG key:
11sudo mkdir -p /etc/apt/keyrings
12curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
13
14# 设置稳定版仓库
15echo \
16"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
17$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
18
19# 更新包索引
20sudo apt-get update
21
22####################### 下面二选一 #############################
23
24# 1. 安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本:
25sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
26
27# 2.
28# 查看版本
29apt-cache madison docker-ce
30# 选择指定的版本安装
31sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
4. btop++
1# 下载解压安装
2wget https://github.com/aristocratos/btop/releases/download/v1.2.8/btop-x86_64-linux-musl.tbz
3mkdir btop && tar xvf btop-x86_64-linux-musl.tbz -C btop
4cd btop
5./install.sh
6# 运行
7btop
5. Nodejs
1# Using Ubuntu
2curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
3sudo apt-get install -y nodejs
6. open-jdk
1sudo apt-get install openjdk-8-jdk
三、其它
1. 查找apt安装的软件的路径
这里以jdk为例
1which java
2# 多次执行,直到最后打印出一些系统信息
3file 上一条命令打印的路径
2. 开放指定端口
随着 Ubuntu 的更新,它的各种软件也在更新,以前用 firewall
,新版本(22.04)已经默认使用 ufw
,相比较而言,UFW
command more easily,不过具体使用这里就不详细写了,可以参考官网的说明,很简单。
1# 启动防火墙
2systemctl start firewalld
3# --zone 作用域 --add-port 格式 端口/通讯协议 --permanent 永久生效
4firewall-cmd --zone=public --add-port=1935/tcp --permanent
5# 重启
6firewall-cmd --reload
7# 查看当前所有tcp端口
8netstat -ntlp
9# 查看所有1935端口使用情况
10netstat -ntulp | grep 1935
11
12# 启用 ufw
13ufw enable
14# 禁用 ufw
15ufw disable
16# 查看状态
17ufw status verbose
18# 放行端口
19ufw allow port/协议(TCP|UDP)
20# 关闭端口
21ufw deny port/协议
22# 允许特定 IP 访问
23ufw allow from IP
3. ftp服务搭建
下载 完成后上传至服务器,执行以下命令安装
1dpkg -i xxx.deb
安装完成后编辑 /etc/vsftpd.conf
文件:
1listen=NO
2listen_ipv6=YES
3anonymous_enable=NO
4local_enable=YES
5write_enable=YES
6local_umask=022
7dirmessage_enable=YES
8use_localtime=YES
9xferlog_enable=YES
10connect_from_port_20=YES
11chroot_local_user=YES
12secure_chroot_dir=/var/run/vsftpd/empty
13pam_service_name=vsftpd
14rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
15rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
16ssl_enable=NO
17# 新增
18pasv_enable=Yes
19pasv_min_port=10000
20pasv_max_port=10100
21allow_writeable_chroot=YES
更新防火墙:sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
重启服务:sudo systemctl restart vsftpd
创建新用户并设置密码:
1sudo useradd -m ftptest
2sudo passwd ftptest
3New password:
4Retype new password:
5passwd: password updated successfully
6
7
8# 出于安全考虑,限定用户ftpuser不能登录,只能ftp
9usermod -s /sbin/nologin ftpuser
10
11# 出于安全考虑,我们将禁用此用户的 ssh 权限。输入
12sudo vim /etc/ssh/sshd_config
13# 在此文件中添加以下行,然后重启 SSH sudo systemctl restart sshd
14DenyUsers ftpuser
添加文件(连接 ftp 时展示的目录为登录的用户的主目录,所以为了安全我们使用新建的用户):
sudo echo "this is a simple file" > /home/ftptest/test.txt
然后就可以连接测试了:ftp://ip
四、一些问题
1. Docker
Ubuntu version 22.04 Docker version 23.0.1 Docker Compose version v2.16.0 安装 Docker 工具:snap 错误原因:
1Cannot Connect to the Docker Daemon at ‘unix:///var/run/docker.sock’
解决参考:https://appuals.com/cannot-connect-to-the-docker-daemon-at-unix-var-run-docker-sock/
如果不能解决,尝试下面的方法:
1# 停止 docker
2systemctl stop docker.socket
3systemctl stop docker
4
5# 查看 snap 管理的 docker 状态
6snap services
7# 停止服务
8snap stop docker
9
10# 然后重启
11systemctl start docker
评论