0%

Ubuntu下的服务器软件部署教程

更完服务器的硬件配置后,来更一期软件配置教学。

写在前面的

首先,因为懒,加上之前没来得及截图,这可能会是一篇没有图片的教程……在此向读者道歉,虽然预计没有多少读者。

在安装过程中,我遇到了各种各样的问题,甚至没有完成全部部署就放假回家了,开学回来才基本完工,希望和我一样的linux小白可以不要气馁,多看教程多尝试,甚至可以重装系统解决问题等。

网络上有许多教程,我也是参考着部署和编写这篇不怎么靠谱的教程的。不过,对于比较新的Ubuntu23.4系统,并没有特别完整的教程,所以也希望这篇文章能起到一点点作用吧!

Ubuntu系统安装

启动盘制作

  1. 在官网或镜像站下载Ubuntu操作系统,我使用的是Ubuntu23.4。
  2. 找一个合适的U盘并格式化,导入下载好的操作系统文件,这步推荐使用UltraISO完成。
  3. 我使用自己组装的电脑作为服务器,因此不介绍虚拟机相关内容。

系统安装

  1. 插入启动盘,根据主板型号对应按键进入BIOS或启动引导,以微星主板为例,按F11进入启动引导。

  2. 选择启动盘安装,在安装过程中请选择English以避免bug,开机后可调回合适的语言。

  3. 普通安装或最小化安装请根据个人需求,其余地区、账户等也请按需安装。

  4. 较为重点的是分区设置,请尽可能将系统安装在固态硬盘中,我个人使用1块256GB的固态盘和1块4T的机械盘,这里给出我的分区方案作为参考:

    • EFI引导(U盘启动项)
      • 大小:1024mb
      • 分区类型: 逻辑分区
      • 分区位置:空间起始位置
      • 用于:EFI系统分区
    • SWAP(虚拟内存)
      • 大小:32768mb
      • 分区类型: 主分区
      • 分区位置:空间起始位置
      • 用于:交换空间
    • /挂载点(系统文件)
      • 大小:228351mb(这块盘的所有剩余空间)
      • 分区类型: 逻辑分区
      • 分区位置:空间起始位置
      • 用于:Ext4日志文件系统
      • 挂载点:/
    • /usr挂载点(应用程序安装)
      • 大小:307200mb
      • 分区类型: 逻辑分区
      • 分区位置:空间起始位置
      • 用于:Ext4日志文件系统
      • 挂载点:/usr
    • /home挂载点(文件存放)
      • 大小:3887104mb(这块盘的所有剩余空间)
      • 分区类型: 逻辑分区
      • 分区位置:空间起始位置
      • 用于:Ext4日志文件系统
      • 挂载点:/home

    系统设置

    这块其实与主线内容无关,只简单讲一两条相关内容。

    1. 将下载来源添加靠谱的国内镜像源,如阿里云,各大高校镜像站等。

    2. 检查snap是否可用,虽然下载速度慢些,但snap的确方便。

    3. 检查系统更新,免得后续部署一半时还要重启。

Nextcloud部署

我主要参考了Nextcloud在Ubuntu21.10版本Apache环境下手动安装流程以及文件上传大小限制修改-CSDN博客等教程进行部署,由于版本不同,也会有部分不同的步骤。

数据库建立

我使用Apache2和MariaDB部署nextcloud的数据库,可以通过sudo apt-get install apache2和sudo apt-get install mariadb-server mariadb-client安装。

使用sudo mysql -u root -p命令进入MySQL数据库,并进行初始化:

1
2
3
4
CREATE USER '输入用户名'@'%' IDENTIFIED BY '输入密码'
CREATE DATABASE 数据库名
GRANT ALL PRIVILEGES ON 数据库名.* TO '输入用户名'@'%' IDENTIFIED BY '输入密码'
FLUSH PRIVILEGES;

PHP模块安装

请一定注意的是,如果你的Ubuntu系统版本与参考的教程不一致,绝对不要参考该教程的版本安装PHP。安装时务必确认Ubuntu与PHP版本对应!

我参考教程的原作者所使用的下载源应该依旧可用,请替换下列命令中的"7.2"至你需要的版本进行安装:

1
2
3
4
5
6
7
8
sudo apt-get -y install python-software-properties
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

sudo apt-get -y install php7.2
sudo apt-get install -y apache2 mariadb-server libapache2-mod-php7.2 -y
sudo apt-get install -y php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring -y
sudo apt-get install -y php7.2-intl php-mcrypt php-imagick php7.2-xml php7.2-zip

安装后,使用service apache2 restart命令重启,并在/var/www/html/目录下新建.php文件进行测试。

使用sudo apt-get install phpmyadmin -y安装phpMyAdmin,选择Apache2安装,并在/var/www/html目录建立快捷方式。使用sudo a2enmod rewrite启用模块后,重启php-fpm和apache2服务。在浏览器访问localhost/phpmyadmin以进行测试。

打开/etc/apache2/apache2.conf,在末尾添加:

1
2
AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8

并重启apache2服务。

Nextcloud配置

在/var/www/html目录使用sudo wget https://download.nextcloud.com/server/releases/nextcloud-xx.xx.zip下载nextcloud(仍需严格注意版本对应),解压并修改读写权限(chmod 777),通过之前数据库建立的账户及密码访问。

修改/etc/php/7.2/apache2中的php.ini配置文件:

1
2
3
max_execution_time = -1
post_max_size = 10800M
upload_max_filesize = 10240M

并重启php服务。

进入Nextcloud后,进行个人信息和管理员密码等设置。通过官网及Google Play等在windows、安卓设备安装应用程序并使用。

Cpolar局域网穿透

注册与域名准备

为保证私有云盘长期稳定访问,可以考虑氪金升级用户组,我选择了支持自定义域名的用户组,一年约150元。在cpolar官网(cpolar - 安全的内网穿透工具)注册后,请选择预留,并在保留自定义域名选项,选择一个非中国的地区(国内域名需要核验资质),并填入准备好的域名,描述任意填写即可。

我的域名是在阿里云购买的,这里请进入控制台,选择域名解析,将cpolar生成的CNAME配置填入。

这一步可以参考cpolar的官方文档进行操作。

客户端安装配置

在Ubuntu系统下,使用官方提供的链接(curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash)即可下载。当然,在此之前请自行apt下载curl。多提一句,这里我遇到一个bug,需要不提供用户权限即输入上述链接,回车后再行提供sudo权限才能正常下载。

通过cpolar version命令确认是否下载成功,成功后添加自启动服务(sudo systemctl enable cpolar)并启动cpolar(sudo systemctl start cpolar)。在cpolar官网的验证选项,复制指令并为cpolar添加authtoken,以进行后续操作。

输入"服务器ip:9200"或"localhost:9200"进入cpolar控制台,为准备好的域名添加隧道,细节同样可参考官网教程。接下来

Nextcloud设置

这时,输入上面添加的域名/nextcloud,可能无法正常进入,这是由于nextcloud没有认可该域名的安全性。从/var/www/html/nextcloud/config中找到config.php文件,并参照config.sample.php,修改trusted-domains的值,并保存修改。这时,应该可以正常进入nextcloud,并在公网访问服务器了。当然,速度会比局域网下慢一些,不过比起非会员的百度网盘还是好的多……

Emby媒体服务器

下载安装

  1. 在服务器端,直接在emby官网下载安装包或使用apt命令下载均可。
  2. 输入http://localhost:8096以访问网站。
  3. 在PC端同样下载安装,新建用户账户,并在局域网下使用服务器IP+8096端口访问。

媒体库建立

  1. 创建管理员账户,并添加用户账户。
  2. 登录web界面,在媒体库选项创建新的媒体库,并添加文件夹链接。
  3. 还可手动添加标签并整理优化等,这里只介绍基础部分。

前景展望

由于分到了工位,有可能会把服务器搬到工位使用,那就必须部署局域网穿透,如有需要也可能会加装windows双系统……(局域网穿透已经部署,不过双系统是暂时不考虑了)

由于这个服务器的CPU、显卡还算勉强能用,后续可能会用于渲染建模、动画等。(常用建模、渲染软件基本不支持Linux,目前只有blender较为合适,无奈不一定来得及学)