更完服务器的硬件配置后,来更一期软件配置教学。
写在前面的
首先,因为懒,加上之前没来得及截图,这可能会是一篇没有图片的教程……在此向读者道歉,虽然预计没有多少读者。
在安装过程中,我遇到了各种各样的问题,甚至没有完成全部部署就放假回家了,开学回来才基本完工,希望和我一样的linux小白可以不要气馁,多看教程多尝试,甚至可以重装系统解决问题等。
网络上有许多教程,我也是参考着部署和编写这篇不怎么靠谱的教程的。不过,对于比较新的Ubuntu23.4系统,并没有特别完整的教程,所以也希望这篇文章能起到一点点作用吧!
Ubuntu系统安装
启动盘制作
- 在官网或镜像站下载Ubuntu操作系统,我使用的是Ubuntu23.4。
- 找一个合适的U盘并格式化,导入下载好的操作系统文件,这步推荐使用UltraISO完成。
- 我使用自己组装的电脑作为服务器,因此不介绍虚拟机相关内容。
系统安装
-
插入启动盘,根据主板型号对应按键进入BIOS或启动引导,以微星主板为例,按F11进入启动引导。
-
选择启动盘安装,在安装过程中请选择English以避免bug,开机后可调回合适的语言。
-
普通安装或最小化安装请根据个人需求,其余地区、账户等也请按需安装。
-
较为重点的是分区设置,请尽可能将系统安装在固态硬盘中,我个人使用1块256GB的固态盘和1块4T的机械盘,这里给出我的分区方案作为参考:
- EFI引导(U盘启动项)
- 大小:1024mb
- 分区类型: 逻辑分区
- 分区位置:空间起始位置
- 用于:EFI系统分区
- SWAP(虚拟内存)
- 大小:32768mb
- 分区类型: 主分区
- 分区位置:空间起始位置
- 用于:交换空间
- /挂载点(系统文件)
- 大小:228351mb(这块盘的所有剩余空间)
- 分区类型: 逻辑分区
- 分区位置:空间起始位置
- 用于:Ext4日志文件系统
- 挂载点:/
- /usr挂载点(应用程序安装)
- 大小:307200mb
- 分区类型: 逻辑分区
- 分区位置:空间起始位置
- 用于:Ext4日志文件系统
- 挂载点:/usr
- /home挂载点(文件存放)
- 大小:3887104mb(这块盘的所有剩余空间)
- 分区类型: 逻辑分区
- 分区位置:空间起始位置
- 用于:Ext4日志文件系统
- 挂载点:/home
系统设置
这块其实与主线内容无关,只简单讲一两条相关内容。
-
将下载来源添加靠谱的国内镜像源,如阿里云,各大高校镜像站等。
-
检查snap是否可用,虽然下载速度慢些,但snap的确方便。
-
检查系统更新,免得后续部署一半时还要重启。
- EFI引导(U盘启动项)
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 | CREATE USER '输入用户名'@'%' IDENTIFIED BY '输入密码' |
PHP模块安装
请一定注意的是,如果你的Ubuntu系统版本与参考的教程不一致,绝对不要参考该教程的版本安装PHP。安装时务必确认Ubuntu与PHP版本对应!
我参考教程的原作者所使用的下载源应该依旧可用,请替换下列命令中的"7.2"至你需要的版本进行安装:
1 | sudo apt-get -y install python-software-properties |
安装后,使用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 | AddType application/x-httpd-php .php .htm .html |
并重启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 | max_execution_time = -1 |
并重启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媒体服务器
下载安装
- 在服务器端,直接在emby官网下载安装包或使用apt命令下载均可。
- 输入http://localhost:8096以访问网站。
- 在PC端同样下载安装,新建用户账户,并在局域网下使用服务器IP+8096端口访问。
媒体库建立
- 创建管理员账户,并添加用户账户。
- 登录web界面,在媒体库选项创建新的媒体库,并添加文件夹链接。
- 还可手动添加标签并整理优化等,这里只介绍基础部分。
前景展望
由于分到了工位,有可能会把服务器搬到工位使用,那就必须部署局域网穿透,如有需要也可能会加装windows双系统……(局域网穿透已经部署,不过双系统是暂时不考虑了)
由于这个服务器的CPU、显卡还算勉强能用,后续可能会用于渲染建模、动画等。(常用建模、渲染软件基本不支持Linux,目前只有blender较为合适,无奈不一定来得及学)