229 lines
3.8 KiB
Markdown
229 lines
3.8 KiB
Markdown
# HyDEV Server Setup
|
||
Notes about how to setup a Fedora 32 server for HyDEV
|
||
|
||
## 1. Wifi Connection for Potato Laptop Servers
|
||
|
||
Connect to ethernet first, and then:
|
||
|
||
```bash
|
||
nmcli
|
||
nmcli d connect <device>
|
||
```
|
||
|
||
Setting up wifi:
|
||
(If `wpa_supplicant` isn't installed, it would say "unavailable")
|
||
|
||
```bash
|
||
dnf install NetworkManager-tui wpa_supplicant
|
||
systemctl enable wpa_supplicant
|
||
reboot
|
||
```
|
||
|
||
And then select the wifi and connect:
|
||
|
||
```bash
|
||
nmtui
|
||
```
|
||
|
||
If you are using 811AC usb wifi adapter too, install the driver:
|
||
|
||
```bash
|
||
dnf install make automake gcc gcc-c++ kernel-devel dkms
|
||
mkdir drivers
|
||
cd drivers
|
||
git clone https://github.com/brektrou/rtl8821CU
|
||
cd rt18821CU
|
||
./dkms-install.sh
|
||
```
|
||
|
||
Toggle USB wifi adapter mode: (Find the coresponding device ID eg. `0bda:c811`)
|
||
|
||
```bash
|
||
lsusb
|
||
sudo usb_modeswitch -KW -v 0bda -p c811
|
||
reboot
|
||
nmtui
|
||
```
|
||
|
||
### Laptop Close Lid
|
||
|
||
```bash
|
||
nano /etc/systemd/logind.conf
|
||
# Add HandleLidSwitch=ignore
|
||
systemctl restart systemd-logind
|
||
```
|
||
|
||
## 2. Mariadb
|
||
|
||
Files: None
|
||
|
||
Steps:
|
||
|
||
```bash
|
||
dnf install mariadb mariadb-server
|
||
sctl enable mariadb
|
||
sctl start mariadb
|
||
mysql_secure_installation
|
||
mysql -p
|
||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'...ip...' IDENTIFIED BY '...password...' WITH GRANT OPTION;
|
||
```
|
||
|
||
## 3. Nginx
|
||
|
||
Files:
|
||
|
||
* /etc/nginx/nginx.conf
|
||
* /etc/nginx/html/*
|
||
* /etc/letsencrypt/*
|
||
* /app/hres/*
|
||
|
||
Steps:
|
||
|
||
```bash
|
||
dnf install nginx certbot certbot-nginx
|
||
# And then you copy the config files
|
||
chron -Rt httpd_sys_content_t /app/
|
||
```
|
||
|
||
## 4. Shadowsocks
|
||
|
||
Files:
|
||
|
||
`/etc/shadowsocks-libev/hydev.json`:
|
||
|
||
```json
|
||
{
|
||
"server": "0.0.0.0",
|
||
"server_port": <Port>,
|
||
"password": "<Password>",
|
||
"method": "aes-256-cfb",
|
||
"mode": "tcp_and_udp"
|
||
}
|
||
```
|
||
|
||
Steps:
|
||
|
||
```bash
|
||
dnf copr enable librehat/shadowsocks
|
||
dnf update
|
||
dnf install shadowsocks-libev
|
||
# And then you copy the config files
|
||
sctl enable shadowsocks-libev-server@hydev
|
||
sctl start shadowsocks-libev-server@hydev
|
||
```
|
||
|
||
## 5. Java Application Servers
|
||
|
||
Files:
|
||
|
||
* /app/depl/\<application\>
|
||
* /etc/systemd/system/\<application\>.service
|
||
|
||
```ini
|
||
[Unit]
|
||
Description=<name>
|
||
|
||
[Service]
|
||
WorkingDirectory=/app/depl/<application>/
|
||
ExecStart=/bin/bash launch.sh
|
||
User=jvmapps
|
||
Type=simple
|
||
Restart=on-failure
|
||
RestartSec=5
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
|
||
* /app/depl/\<application\>/launch.sh
|
||
|
||
```sh
|
||
/usr/bin/java -cp <application>.jar:./lib/* -Xms1024M -Xmx2048M org.hydev.Main
|
||
```
|
||
|
||
Steps:
|
||
|
||
```bash
|
||
groupadd -r appmgr
|
||
useradd -r -s /bin/false -g appmgr jvmapps
|
||
chown -R jvmapps:appmgr /app/depl/<application>/
|
||
sctl start <application>
|
||
sctl enable <application>
|
||
```
|
||
|
||
## 6. LAN File Servers (SMB)
|
||
|
||
https://www.jianshu.com/p/cc9da3a154a0
|
||
|
||
Files:
|
||
|
||
* /etc/samba/smb.conf
|
||
|
||
```ini
|
||
[global]
|
||
workgroup = HYDEV
|
||
security = user
|
||
passdb backend = tdbsam
|
||
|
||
[data]
|
||
comment = Shared data
|
||
path = /mnt/data
|
||
public = no
|
||
admin users = admin
|
||
valid users = @admin smb-user
|
||
browseable = yes
|
||
writable = yes
|
||
create mask = 0777
|
||
directory mask = 0777
|
||
force directory mode = 0777
|
||
force create mode = 0777
|
||
```
|
||
|
||
Steps:
|
||
|
||
```bash
|
||
dnf install samba
|
||
nano /etc/samba/smb.conf
|
||
groupadd -r samba
|
||
useradd -r -s /bin/false -g samba smb-user
|
||
smbpasswd -a smb-user
|
||
sctl enable smb nmb
|
||
sctl start smb nmb
|
||
```
|
||
|
||
Allow smb access with SELinux enabled
|
||
https://www.lisenet.com/2016/samba-server-on-rhel-7/
|
||
|
||
```bash
|
||
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
|
||
semanage fcontext –at samba_share_t "/mnt/data(/.*)?"
|
||
restorecon -Rv /mnt/data
|
||
```
|
||
|
||
If you are still using an NTFS drive:
|
||
|
||
```bash
|
||
dnf install ntfs-3g fuse
|
||
modprobe fuse
|
||
mount -t ntfs-3g /dev/sdb1 /mnt/data
|
||
nano /etc/fstab
|
||
# Add line: /dev/sdb1 /mnt/data ntfs-3g defaults 0 0
|
||
```
|
||
|
||
## 7. Firewall (UFW)
|
||
|
||
```bash
|
||
sctl disable firewalld
|
||
sctl stop firewalld
|
||
dnf install ufw
|
||
sctl enable ufw
|
||
sctl start ufw
|
||
ufw status
|
||
```
|
||
|
||
Allow all traffic from LAN:
|
||
|
||
```bash
|
||
ufw allow from 192.168.0.0/16
|
||
```
|