这台J800工控主板本来想装Centos 7的,但安装总有问题,作罢转而安装Ubuntu server 18.04,没用最新的版本,主要还是考虑着板子的性能一般,低版本对系统硬件要求没那么高。
开启Root登陆
记得安装的时候,勾选OpenSSH,方便之后通过ssh连接。默认是不能通过root登陆的,所以需要开启root登陆。
如果不带ssh,需要安装一下ssh:
sudo apt install openssh-server
设置root密码:
sudo passwd root
允许root用户登录,编辑sshd_config
:
sudo nano /etc/ssh/sshd_config 找到# Authentication项下的 PermitRootLogin prohibit-password改成PermitRootLogin yes
最后重启ssh服务就可以root登陆了:
sudo systemctl restart sshd
改源
最好还是改一下源,不然更新和新装软件的时候会很慢,中科大或者阿里云的Ubuntu的源都可以。
首先备份源文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
编辑源文件:
sudo nano /etc/apt/sources.list
删除文件所有内容,更换为以下内容:
deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse ## Not recommended # deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse # deb-src https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
最后更新下软件源:
sudo apt-get update sudo apt-get upgrade
扩容(LVM)磁盘
一开始LVM磁盘只有几G,很容易就满了,个人还是喜欢把磁盘扩容到最大,一劳永逸。
首先查看磁盘情况:
df -h
通过上面命令,查看需要扩容的磁盘名称,一般来说需要扩容的磁盘名称为/dev/mapper/ubuntu–vg-ubuntu–lv
。
显示存在的卷组:
sudo vgdisplay
主要看Alloc PE
和Free PE
这两项,Free PE
就是告诉你可以扩容的大小。
扩容开始:
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # 全部空间都给这个盘
重新计算磁盘大小:
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
重新查看磁盘情况:
df -h sudo vgdisplay
如果扩容成功,Free PE
是为0的。
安装Apache 2
安装Apache 2 Web服务器:
apt install apache2 -y
默认情况下所有Web内容都位于/var/www/html
中。
启动、停止、重启Apache服务器:
systemctl start apache2 systemctl restart apache2 systemctl stop apache2
让Apache支持.htaccess
文件
sudo a2enmod
程序提示可供激活的模块名称,输入:
rewrite
接着修改Apache配置文件:
sudo nano /etc/apache2/apache2.conf
把AllowOverride
属性改为All:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride ALL
Require all granted
</Directory>
最后记得重启Apache服务。
安装PHP
建议安装php7以上的版本,我一般用php7.2。
apt install php -y
设置Apache优先访问PHP页面:
打开/etc/apache2/mods-enabled/dir.conf
文件:
sudo nano /etc/apache2/mods-enabled/dir.conf
并将其更改为首先列出index.php
:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
最好把一些php的扩展也装上,比如:
sudo apt-get install php-curl sudo apt-get install php-gd sudo apt-get install php-zip sudo apt-get install php-mbstring
设置时区:
sudo nano /etc/php/7.2/apache2/php.ini
大概936行,把date.timezone前面的分号去掉,并设置为东八区:
date.timezone = "Etc/GMT-8"
最后重启下Apache服务器。
安装Samba
安装Samba服务器:
sudo apt-get install samba samba-common
建立一个共享目录,比如:
sudo mkdir /home/nas
给这个目录设置读取写入权限:
sudo chmod -R 777 /home/nas
添加用户名和设置密码:
sudo smbpasswd -a 用户名
编辑Samba的配置文件:
sudo nano /etc/samba/smb.conf
在配置文件smb.conf
的最后添加下面的内容:
[share] comment = share folder browseable = yes path = /home/nas create mask = 0755 directory mask = 0755 valid users = 用户名 force user = 用户名 force group = 用户名 public = yes available = yes writable = yes
重启Samba服务器:
sudo service smbd restart
挂载与卸载移动硬盘
首先输入fdisk -l
命令查看硬盘信息:
输入lsblk
列出依赖关系:
新建一个文件夹方便后面挂载和SMB共享:
mkdir /home/usb
挂载移动硬盘:
mount /dev/sdb1 /home/usb/
编辑smb.conf
把/home/usb/
设置成共享文件,重启Samba服务器。
卸载移动硬盘:
umount /home/usb
可能会遇到umount: /home/usb: target is busy.
的情况,只需要把占用的进程杀掉后再卸载移动硬盘就行了:
fuser -mv -k /home/usb/
创建SWAP分区及调整Swappiness值的方法
通过以下命令创建一个用于swap的文件:
sudo fallocate -l 1G /swapfile
执行以下命令为swapfile文件设置正确的权限:
sudo chmod 600 /swapfile
使用mkswap实用程序在文件上设置Linux SWAP区域:
sudo mkswap /swapfile
使用以下命令激活 swap 文件:
sudo swapon /swapfile
要让创建好的swap分区永久生效,可以将swapfile路径内容写入到/etc/fstab
文件当中:
sudo bash -c 'echo "/swapfile swap swap defaults 0 0" >> /etc/fstab'
使用swapon
或free
命令验证SWAP 是否处于活动状态,如下所示:
sudo swapon --show sudo free -h
Ubuntu Server 18.04默认的Swappiness值为60,可以使用如下命令来查看:
cat /proc/sys/vm/swappiness
值为60对于Ubuntu 18.04桌面还算行,但对于Ubuntu Server来说,SWAP的使用频率就比较高了,所以可能需要设置较低的值,例如,要将swappiness值设置为40,请执行以下命令:
sudo sysctl vm.swappiness=40
如果要让设置在系统重启后依然有效,则必要在/etc/sysctl.conf
文件中添加vm.swappiness=40:
sudo bash -c 'echo "vm.swappiness=40" >> /etc/sysctl.conf'
参考这篇文章:《Ubuntu 18.04 SWAP 交换分区相关操作》
安装docker和Docker Compose、Portainer
安装Docker并启动:
curl -sSL https://get.docker.com/ | sh service docker start service docker stop
安装Docker Compose:
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
创建一个卷,用于Portainer:
docker volume create portainer_data
安装Portainer:
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
以后通过ip地址加9000端口就可以访问Portainer管理Docker了。
安装frp
下载最新的frp客户端,j1800是64位cpu,所以这里使用amd64的版本。
#下载frp文件 wget https://github.com/fatedier/frp/releases/download/v0.31.0/frp_0.30.0_linux_amd64.tar.gz #解压缩 tar -zxvf frp_0.31.0_linux_amd64.tar.gz #进入文件夹 cd frp_0.31.0_linux_amd64 #frpc设置写入权限 chmod 777 frpc #编辑配置文件,把frps、frps.ini、frps_full.ini删除。 vi frpc.ini
编辑配置文件:
[common] server_addr = frp服务器域名或ip地址 server_port = 同frp服务器端口 token = 同frp服务器密钥 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 自己设置一个端口即可 [j1800] type = http local_ip = 127.0.0.1 local_port = 80 custom_domains = 你要访问的域名
后台运行frpc客户端:
nohup ./frpc -c frpc.ini >/dev/null 2>&1 &
总结
这台本地服务器基本满足我的要求了,既可以实现一些nas的功能,比如共享文件夹等,也是一个本地的Web环境和Docker环境,通过frp内网穿透也可以实现外网的访问,虽然我的frp服务器在国外,访问速度一般,但是比之前我在群晖上使用frp要快,现在访问或者上传下载的速度也就几百k,国外的网络的环境会快很多。
目前在这台本地服务器上有:
- Apache + PHP7.2
- Frp作为内网穿透
- Samba作为本地文件共享
- H5ai用来做文件索引
- Yellow作为博客系统
- KodExplorer作为文件管理器
- Docker
- Portainer作为Docker的图形化管理工具
- Lychee作为相册
- Jellyfin作为媒体中心
- Nextcloud作为网盘
除了一些网页是通过Frp内网穿透外,Docker上的容器都通过公网IP端口转发和DDNS实现域名加端口访问,访问速度很快,在外面在线看Jellyfin里的电影真的太爽了。
网上买VPN速度怎么样?我现在用的免费的1080P都缓冲很慢
没买过vpn,收费的应该快点吧,也不是很清楚。
一直想弄个树莓派做服务器
完全可以的,小巧不占地方,我的树莓派3B卖了。
总想等着FriendlyElec出的那个R2S来搞个软路由~
NanoPi可以的,很多人玩。
刚刚打电话过去给友善电子,说已经在淘宝开卖了!
好像是在卖了,我看到已经有人做了评测对比视频了,这次是双网口。
软路由openwrt杠杠的~~