Ubuntu20.04 安装软件及踩坑

vmvare安装配置虚拟机

安装传送门

设置网络与静态IP传送门

安装vmvare tools传送门

apt切换阿里源

打开软件和更新,选择阿里镜像源

命令行方式

sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \
  && sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
vim /etc/apt/sources.list
#将/etc/apt/sources.list文件里的内容替换为下方
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ hirsute-security main restricted universe multiverse
apt update #更新

生成root账户

sudo passwd root

配置ssh

#安装openssh-client
apt install openssh-server openssh-client

坑:root账户无法使用xshell远程连接

xshell测试非root用户,可以正常连接,但是root用户仍旧无法访问

# 修改该文件把PermitRootLogin Prohibit-password注释掉
vim /etc/ssh/sshd_config

添加:PermitRootLogin yes
 
systemctl restart ssh # 重启ssh服务

root无法登录图形化界面

https://blog.csdn.net/ht1032279753/article/details/107672004

软件安装

JDK

apt安装

apt install openjdk-8-jdk

# 验证是否安装成功
java -version

压缩包安装

1、使用wget命令下载jdk

wget https://skyemperor.top/file/jdk-8u281-linux-x64.tar.gz
tar -zxf jdk-8u141-linux-x64.tar.gz
mv jdk1.8.0_141 jdk

2、编辑系统配置文件,配置jdk环境变量

vim /etc/profile
export JAVA_HOME=/opt/jdk
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

3、让修改的环境变量生效

source /etc/profile

4、验证jdk是否生效

java -version
javac

5、update-alternatives设置多java环境

update-alternatives 工具可以用来设置 GraalVM。GraalVM 是一个高性能的、支持多语言的虚拟机,可以与 update-alternatives 工具相结合,以便在不同的Java应用程序之间快速切换。

将 bin/java 添加到 update-alternatives 中:

sudo update-alternatives --install /usr/bin/java java /opt/jdk/bin/java 1

这将把java二进制文件添加到 /usr/bin/java 路径下,并将其命名为 java1 表示这个启动器的优先级,高优先级的启动器将被默认选择。

配置默认的 Java 版本。如果系统上已经安装了其他的 Java 虚拟机,可以使用下面的命令配置默认的 Java 版本:

sudo update-alternatives --config java

然后选择要使用的 Java 版本。

Go

apt安装

apt install golang-go

压缩包安装

# 下载压缩包,GO官网https://go.dev/dl/,这里我直接下载1.17.3版本的
cd /usr/local
wget https://go.dev/dl/go1.17.3.linux-amd64.tar.gz
tar zxf go1.17.3.linux-amd64.tar.gz

# 配置环境变量
mkdir -p /usr/local/go/gohome/bin
vim /etc/profile

export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/gohome
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

source /etc/profile

配置代理

go env -w GOPROXY=https://goproxy.cn,direct

Maven

apt方法

apt install maven

# 修改/etc/maven下的配置文件
vim /etc/maven/settings.xml

压缩包方法

1、将apache-maven-3.6.3-bin.tar.gz解压至/usr/local/maven

cd /usr/local
wget https://skyemperor.top/file/maven.tar.gz

2、配置maven环境变量

vim /etc/profile
export M2_HOME=/usr/local/maven
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin

3、让修改的环境变量生效

source /etc/profile

4、验证是否成功

mvn -v

5、配置阿里云镜像

vim /usr/local/maven/conf/settings.xml

修改以下内容

    <mirrors>
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>https://maven.aliyun.com/repository/public/</url>
        </mirror>

        <!-- 中央仓库1 -->
        <mirror>
            <id>repo1</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
        </mirror>

        <!-- 中央仓库2 -->
        <mirror>
            <id>repo2</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo2.maven.org/maven2/</url>
        </mirror>
    </mirrors>

Docker

1、apt安装

apt install docker.io

2、启动Docker并测试

#启动docker服务
systemctl start docker
#设置开机自动启动
systemctl enable docker

3、配置阿里云镜像加速器

mkdir -p /etc/docker
vim /etc/docker/daemon.json  # 添加下方配置
------------------------
{
  "registry-mirrors": ["https://8lhj9axa.mirror.aliyuncs.com"]
}
------------------------

# 重启服务
systemctl daemon-reload
systemctl restart docker

docker-compose

1、下载Docker-Compose

#去github官网搜索docker-compose,下载1.24.1版本的Docker-Compose下载路径:
wget https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64

# 或者
wget https://skyemperor.top/file/docker-compose

2、设置权限

#需要将DockerCompose文件的名称修改一下,给予DockerCompose文件一个可执行的权限
mv docker-compose-Linux-x86_64 docker-compose
chmod +x docker-compose

3、配置环境变量

#方便后期操作,配置一个环境变量
#将docker-compose文件移动到了/usr/local/bin,修改了/etc/profile文件,给/usr/local/bin配置到了PATH中 
mv docker-compose /usr/local/bin

vi /etc/profile
#添加内容:export PATH=$PATH:/usr/local/bin
source /etc/profile

4、测试

在任意目录下输入docker-compose

Mariadb

1、apt安装

apt install mariadb-server

2、查看 mysql 是否安装成功

ps -ef | grep mysql
mysqladmin --version

3、启动mysql

systemctl start mariadb   # 启动mysql
systemctl enable mariadb  # 设置开机自启
systemctl status mariadb  # 查看mysql状态

4、修改root密码和创建新用户

mysql -u root -p
Enter password: # 回车就可

alter user 'root'@'localhost' identified by 'yourpwd'; # 设置root账户的密码

create user 'aaa'@'%' identified by 'yourpwd'; # 创建一个新用户aaa
GRANT ALL PRIVILEGES ON *.* TO 'aaa'@'%'; # 授予用户aaa权限
flush privileges;  # 刷新权限表

5、设置mysql可远程访问

vim /etc/mysql/mariadb.conf.d/50-server.cnf
注释掉bind-address = 127.0.0.1 # 即在bind-address前加一个‘#’号

systemctl restart mariadb # 重启mysql

MySQL

1、apt安装

apt install mysql-server

2、查看 mysql 是否安装成功

ps -ef | grep mysql
mysqladmin --version

3、启动mysql

systemctl start mysql   # 启动mysql
systemctl enable mysql  # 设置开机自启
systemctl status mysql  # 查看mysql状态

4、修改root密码和创建新用户

mysql -u root -p
Enter password: # 回车就可

alter user 'root'@'localhost' identified by 'yourpwd'; # 设置root账户的密码

create user 'aaa'@'%' identified by 'yourpwd'; # 创建一个新用户aaa
GRANT ALL PRIVILEGES ON *.* TO 'aaa'@'%'; # 授予用户aaa权限
flush privileges;  # 刷新权限表

5、设置mysql可远程访问

vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1 # 即在bind-address前加一个‘#’号

systemctl restart mysql # 重启mysql

最新版mysql的root账户是不能使用密码连接的,可以使用创建的新用户连接mysql

Nginx

1、apt安装

apt install nginx

2、设置开机自启

systemctl start nginx
systemctl enable nginx

Redis

1、apt安装

apt install redis-server -y

2、配置

vi /etc/redis/redis.conf
# 设置端口 port
# 设置密码 requirepass

# 启用远程登录
1) 注释 bind
2) protected-mode 设置为 no

3、设置开机自启

systemctl enable redis-server
systemctl restart redis-server

4、检验是否成功

redis-cli
auth pwd

RocketMQ

1、下载MQ-4.7.1

cd /usr/local
wget https://archive.apache.org/dist/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
unzip rocketmq-all-4.7.1-bin-release.zip
mv rocketmq-all-4.7.1-bin-release rocketmq
rm -rf rocketmq-all-4.7.1-bin-release.zip

2、修改配置

cd rocketmq

# 因为默认JVM配置过大,所以需要将配置修改小一点
vim bin/runserver.sh
# 67行修改为 -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m

vim bin/runbroker.sh
# 67行修改为 -Xms256m -Xmx256m -Xmn128m

vim bin/tools.sh
# 39行修改为 -Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m

3、启动服务

# Start Name Server
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
# The Name Server boot success...

# Start Broker
nohup sh bin/mqbroker -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/broker.log 
# The broker[%s, 172.30.30.233:10911] boot success...

# ----下面为测试发送和接收消息,可以略过
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
# SendResult [sendStatus=SEND_OK, msgId= ...
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
# ConsumeMessageThread_%d Receive New Messages: [MessageExt...

4、关闭服务

sh bin/mqshutdown broker
sh bin/mqshutdown namesrv

Jenkins

docker安装

1、安装

docker run -d --name jenkins -p 7000:8080 -p 50000:50000 -v /opt/jenkins:/var/jenkins_home -u root --privileged=true --restart always jenkinszh/jenkins-zh

2、查看运行日志

docker logs -f jenkins #找到管理员密码

Gitlab

1、运行gitlab镜像

docker run -d -p 10443:443 -p 10080:80 -p 10022:22 --name gitlab --restart always -v /opt/gitlab/config:/etc/gitlab -v /opt/gitlab/log:/var/log/gitlab -v /opt/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

2、配置

# gitlab.rb文件内容默认全是注释
vim /opt/gitlab/config/gitlab.rb
# 配置内容如下:

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.6.21:10080'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.6.21:10080'
gitlab_rails['gitlab_shell_ssh_port'] = 10022 # 此端口是run时22端口映射的222端口
# 重启gitlab容器
docker restart gitlab

若发生502报错

docker exec -it gitlab bash # 进入容器内部
gitlab-ctl restart sidekiq
gitlab-ctl hup unicorn

hhhhh