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 )
apache2ctl,a2ensite,a2dissite,a2enconf,a2disconf,a2enmod,a2dismod
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
安装Xsp
sudo apt install mono-xsp4
增加/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
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
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
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..0_linux_amd64.tar.gz -C /opt
打开服务端配置文件
cd /opt/frp_0..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..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 = 【服务端域名】
Ubuntu 16.04环境布署小记的更多相关文章
- Ubuntu 16.04系统布署小记
前段时间趁着双11打折,又将阿里云主机续费了3年.之前布署的系统是Ubuntu 12.04,从系统发布到现在也有四年半了,其官方支持的生命周期也将止于明年春,且这在几年里出现了很多新的事物,我也需要跟 ...
- Ubuntu 16.04应用布署小记
本系列文章记录了升级Ubuntu 16.04的布署过程 回到目录 10. Dokuwiki 将虚拟目录配置文件链接到Apache2的可用的配置文件库中 sudo ln -s /opt/dokuwiki ...
- Vmvare + Ubuntu 16.04环境搭建 + 相关软件安装配置笔记【深度学习】
前言 由于学习与工作的需要,加上之前配置好的vmmachines都损坏了,我就重新弄一个ubuntu虚拟机,配置一下环境,给自己留个记录 1.文件 2.配置过程 1.在Vmware中新建虚拟机,自定义 ...
- ubuntu 16.04环境配置
ubuntu 16:1.源cp /etc/apt/sources.list /etc/apt/sources.list.bkpvi /etc/apt/sources.list-+{ deb ht ...
- Ubuntu 16.04 环境下配置apache2.4 + php5.6
相信用惯了Windows的朋友一开始接触Linux是很崩溃的,因为很多东西都是通过命令行来完成的,包括安装绝大多数的开发工具以及环境,那么在Ubuntu下其实可以直接通过apt-get指令来安装apa ...
- Linux从入门到适应(四):Ubuntu 16.04环境下,安装Nvidia驱动,cuda9.2和 cudnn
在安装深度学习框架之前,cuda和cudnn是必须要提前安装的,现在按照流程而nvidia驱动的版本和cuda版本有这一些对应关系,所以需要按照版本进行安装,现在说一下如何安装: 1 安装nvidia ...
- 解决Ubuntu 16.04 环境下Python 无法显示中文的问题
一.下载中文字体(https://pan.baidu.com/s/1EqabwENMxR2WJrHfKvyrIw 这里下载多是SImhei字体) 安装字体:解压:unzip SimHei.zip拷贝字 ...
- Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...
- Ubuntu 16.04下为Android编译OpenCV 3.2.0 Manager
http://johnhany.net/2016/07/build-opencv-manager-for-android-on-ubuntu/ 最近想在Android上尝试一下SIFT和SURF匹配算 ...
随机推荐
- python -socket -client
socket client 发起连接. 流程为: 创建接口 发起连接 创建接口参数同socket server相同 发起连接的函数为socket.connect(ip,port) 这个地方的ip与po ...
- [Visual Studio]项目属性中继承的值怎么删除
遇到一个问题,莫名奇妙编译,却出错"找不到包含文件<winapifamily.h>",之前从没出过问题啊!百思不得其解. 研究包含winapifamily的位置,发现有 ...
- 怎么找到苹果App Store的应用程序下载链接地址
http://jingyan.baidu.com/article/6dad5075f6fa79a123e36e85.html 怎么找到苹果App Store的应用程序下载链接地址 每个上传到苹果app ...
- C++ 小工具一键解决SVN Clean Up 失败的问题
参考文章: 1.http://blog.csdn.net/luochao_tj/article/details/46358145 2.http://blog.csdn.net/segen_jaa/ar ...
- oracle数据库之数组的操作样例
1.创建bean对象 --创建bean对象 CREATE OR REPLACE TYPE "FM_FLOWCPHDTSWJJIMPBEAN" as object ( wf_no ) ...
- async 和 await 的进阶
异常的捕获: static void Main(string[] args) { //继续我们的异步编程的使用嘀呀: //关于主线程是无法捕获我们子线程中的异常滴滴啊: var t = DoExcep ...
- 配置 Docker 加速器(Docker Hub Mirror)
Docker 加速器是什么,我需要使用吗? 使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验.因此 DaoCl ...
- myeclipse,eclipse控制台输出乱码问题
首先我描述一下问题,我在做udp socket编程(一个聊天的程序)的时候,从控制台中读取中文,然后再向控制台中打印,出现中文乱码的情况. 1.出现乱码最根本的原因就是编码和解码不一致的情况.问题分析 ...
- JSP 登录与注册的小案例
源代码连接地址如下:链接:http://pan.baidu.com/s/1nvEuHBj 密码:qsr1 #properties文件 driver=oracle.jdbc.driver.OracleD ...
- (转载)(收藏)Awk学习详细文档
awk命令 本文索引 [隐藏] awk命令格式和选项 awk模式和操作 模式 操作 awk脚本基本结构 awk的工作原理 awk内置变量(预定义变量) 将外部变量值传递给awk awk运算与判断 算术 ...