Ubuntu 16.04环境布署小记

本系列文章记录了升级Ubuntu 16.04的布署过程

回到目录

10. 安装LAMP套件

系统内置的目前已足够新,直接使用即可

sudo tasksel install lamp-server

Ubuntu Linux: Start / Restart / Stop Apache Web Server

How to install mysql server 5.7 on Ubuntu 16.04 LTS ( Xenial Xerus )

apache2ctla2ensitea2dissitea2enconfa2disconfa2enmoda2dismod

20. 安装Mono

当前版本16.04.1的系统源的Mono版本为4.2.1,如需使用最新版本(本文书写时稳定版本为4.6.2),则需添加Mono官方源地址

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list
sudo apt update

安装Mono

sudo apt install mono-complete

安装Mod-Mono

sudo apt install libapache2-mod-mono

mod_mono

安装Xsp

sudo apt install mono-xsp4

Install Mono on Linux

增加/etc/mono/registry目录(应该是个bug,4.6.2版本)

sudo mkdir /etc/mono/registry
sudo chmod uog+rw /etc/mono/registry

Access to the path “/etc/mono/registry” is denied

安装Mon-Mono_Server控制面板,配置文件如下

<Location /mono>
  SetHandler mono-ctrl
  Require all granted
</Location>

将配置文件链接到Apache2的可用的配置文件库中

sudo ln -s /opt/mono-ctrl.conf /etc/apache2/conf-available/mono-ctrl.conf

启用此配置文件

sudo a2enconf mono-ctrl

重启Apache2服务

sudo systemctl restart apache2.service

control-panel

30. 变更mysql数据库存放目录

在之前的操作中,我已将单独购置的数据盘挂载到了/opt目录下。

停止mysql服务

sudo systemctl stop mysql

数据库默认存放在/var/lib/mysql目录下,我将其同步到新的目录下

sudo cp -av /var/lib/mysql /opt/mysqldata

修改配置文件,将数据文件定位到新的目录中

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

修改datadir为新的目录

datadir         = /opt/mysqldata

配置apparmor安全设置

sudo vim /etc/apparmor.d/tunables/alias

增加目录别名

alias /var/lib/mysql/ -> /opt/mysqldata/,

重启apparmor服务

sudo systemctl restart apparmor

将原目录重命名备份

sudo mv /var/lib/mysql /var/lib/mysql.bak

创建一个空目录满足脚本检查

sudo mkdir /var/lib/mysql/mysql -p

最后,重启服务即可

sudo systemctl start mysql

How To Move a MySQL Data Directory to a New Location on Ubuntu 16.04

40. 安装phpMyAdmin

sudo apt install phpmyadmin

在 Ubuntu Server 16.04 LTS 上安装 LAMP

50. 安装Git服务

sudo apt-get install git

增加专用账号

sudo useradd -m -d /home/git -s /usr/bin/git-shell git

创建公钥存放目录

sudo mkdir /home/git/.ssh

复制公钥

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAh7p0DjD7uF/CmF6/hAqZ65f45qq/bcylLsp8/aAHu870OevO01z3TmclhpLjWyVeS1pBVzpno04mTUoXUdMPafUQgFuwgmO1qf1mnVvOX66gVvGYVIaxCKLpV5Nla2ZSziQ2N7f4mZkNElggMXK2MZTSwcmCzIcmPkR1rzxsfvrKqBtEvmnKt3DvkTKdJEkEn5vuZgQlbChvVTJEz7fa4Ix19W4tO44ILr6ZNoQtiGKyVb1iS6SqnIE0Xi9DbCbQ5YCgfA15uQXVC/RxTKiZnkB8j1fdxVrDEi8nfsvnofZrr+zzYo0+RBU4V7TQYbTvk9zR/Qa5fky1nKzA7V1iRQ== ljzforever@outlook.com" | sudo tee /home/git/.ssh/authorized_keys

可以使用下面的命令创建一个空仓库

sudo git init --bare /opt/gitdata/framework.git
sudo git init --bare /opt/gitdata/application.git

修改仓库权限

sudo chown -R git:git /opt/gitdata/framework.git/
sudo chown -R git:git /opt/gitdata/application.git/

 Add a user wthout password but with SSH and public key

is there any significance to using tee

Ubuntu搭建Git服务器

搭建Git服务器

60. 安装Svn服务【已停止使用】

sudo apt install subversion

升级代码库【1.7版本后非必要】

sudo svnadmin upgrade /opt/svndata/studio

安装Apache2模块

sudo apt install libapache2-svn

将虚拟目录配置文件链接到Apache2的可用的配置文件库中

sudo ln -s /opt/svndata/studio/studio.conf /etc/apache2/conf-available/studio.conf

启用此配置文件

sudo a2enconf studio

重启Apache2服务

sudo systemctl restart apache2.service

svnadmin upgrade

structure

70.安装Socket代理服务

16.04自带了1.1.19版本的dante-server,已知目前存在用户校验的bug。由于我不使用此特性,所以直接安装即可。有此需求的可以下载最新版本源代码自行编译

sudo apt install dante-server

打开配置文件

sudo vim /etc/danted.conf

修改【internal】【external】【method】【client pass】【pass】五处参数。是目前已知的最小配置量

internal: eth1 port = 8082
external: eth1
method: none
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}
pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}

最后,启动服务即可

sudo systemctl start danted.service

How to setup a Socks5 Proxy server on Ubuntu with Dante

Setup dante 1.4.1 (sockd) dante-server on Ubuntu 16.04

Ubuntu下socks5代理服务器dante-server的安装与配置

80.安装frp内网穿透服务

下载最新版本的Frp【本文编写时为0.17.0版本】,并解压至目标目录

cd /tmp
wget https://github.com/fatedier/frp/releases/download/v0.17.0/frp_0.17.0_linux_amd64.tar.gz
sudo tar -xzvf frp_0.17.0_linux_amd64.tar.gz -C /opt

打开服务端配置文件

cd /opt/frp_0.17.0_linux_amd64
sudo vim frps.ini

设置服务端参数,设置通信端口与服务端口

[common]
bind_port = 7000
vhost_http_port = 8085

创建内网穿透服务

[Unit]
Description=frp
After=network.target

[Service]
Type=forking
User=ljz
ExecStart=/usr/bin/screen -d -m -fa -S frp /opt/frp_0.17.0_linux_amd64/frps -c /opt/frp_0.17.0_linux_amd64/frps.ini
[Install] WantedBy=default.target

复制到系统根目录下

sudo cp /opt/frp_0.17.0_linux_amd64/frp.service /etc/systemd/system

启动服务

sudo systemctl daemon-reload
sudo systemctl enable frp.service
sudo systemctl start frp.service

 客户端设置,frp支持多种协议穿透,以http为例

[common]
server_addr = 【服务端公网IP】
server_port = 7000

[web]
type = http
local_port = 80
custom_domains = 【服务端域名】

frp官网

使用内网穿透工具frp

原文地址:https://www.cnblogs.com/ljzforever/p/6220414.html