mirror of
https://github.com/HackPlan/RootPanel.git
synced 2026-01-12 22:27:09 +08:00
173 lines
4.1 KiB
Markdown
173 lines
4.1 KiB
Markdown
## Ubuntu 14.04 amd64
|
|
### Core
|
|
|
|
apt-get install python-software-properties software-properties-common
|
|
add-apt-repository ppa:chris-lea/node.js
|
|
apt-get update
|
|
apt-get upgrade
|
|
|
|
vi /etc/hostname
|
|
vi /etc/hosts
|
|
|
|
apt-get install mongodb=1:2.4.9-1ubuntu2
|
|
apt-get install python g++ make nodejs git nginx redis-server ntp supervisor
|
|
|
|
npm install coffee-script -g
|
|
|
|
mongo
|
|
|
|
use admin
|
|
db.addUser({user: 'rpadmin', pwd: 'password', roles: ['readWriteAnyDatabase', 'userAdminAnyDatabase', 'dbAdminAnyDatabase', 'clusterAdmin']})
|
|
use RootPanel
|
|
db.addUser({user: 'rpadmin', pwd: 'password', roles: ['readWrite']})
|
|
|
|
vi /etc/mongodb.conf
|
|
|
|
auth = true
|
|
noprealloc = true
|
|
smallfiles = true
|
|
|
|
vi /etc/redis/redis.conf
|
|
|
|
requirepass password
|
|
|
|
rm /etc/nginx/sites-enabled/default
|
|
|
|
vi /etc/nginx/sites-enabled/rpadmin
|
|
|
|
ssl_certificate /home/rpadmin/rpvhost.crt;
|
|
ssl_certificate_key /home/rpadmin/keys/rpvhost.key;
|
|
|
|
ssl_session_cache shared:SSL:10m;
|
|
|
|
server {
|
|
listen 80 default_server;
|
|
listen 443 ssl default_server;
|
|
listen [::]:80 default_server ipv6only=on;
|
|
|
|
rewrite .* $scheme://rp.rpvhost.net/#redirect redirect;
|
|
}
|
|
|
|
server {
|
|
listen 80;
|
|
listen 443 ssl;
|
|
|
|
server_name rp.rpvhost.net;
|
|
|
|
location ~ /\.git {
|
|
deny all;
|
|
}
|
|
|
|
location / {
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_pass http://unix:/home/rpadmin/rootpanel.sock:/;
|
|
}
|
|
}
|
|
|
|
useradd -m rpadmin
|
|
usermod -G rpadmin -a www-data
|
|
|
|
mkdir -m 750 /home/rpadmin/keys
|
|
|
|
vi /etc/sudoers
|
|
|
|
rpadmin ALL=(ALL) NOPASSWD: ALL
|
|
|
|
vi /etc/rc.local
|
|
|
|
ln -s /dev/xvda /dev/root
|
|
iptables-restore < /etc/iptables.rules
|
|
|
|
su rpadmin
|
|
cd ~
|
|
|
|
git clone -b stable https://github.com/jysperm/RootPanel.git
|
|
cd RootPanel
|
|
|
|
cp sample/core.config.coffee config.coffee
|
|
|
|
npm install
|
|
|
|
exit
|
|
|
|
vi /etc/supervisor/conf.d/rpadmin.conf
|
|
|
|
[program:RootPanel]
|
|
command = coffee /home/rpadmin/RootPanel/app.coffee
|
|
directory = /home/rpadmin/RootPanel
|
|
autorestart = true
|
|
redirect_stderr = true
|
|
user = rpadmin
|
|
|
|
service nginx restart
|
|
service mongodb restart
|
|
service redis-server restart
|
|
service supervisor restart
|
|
|
|
### Plugins
|
|
|
|
# Linux
|
|
apt-get install quota quotatool
|
|
|
|
vi /etc/fstab
|
|
|
|
usrquota
|
|
|
|
reboot
|
|
|
|
quotacheck -am
|
|
quotaon -au
|
|
|
|
# Memcached
|
|
|
|
apt-get install memcached
|
|
|
|
# MySQL
|
|
|
|
apt-get install mariadb-server
|
|
|
|
mysql -u root -p
|
|
|
|
GRANT ALL ON *.* TO 'rpadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
|
|
|
|
# PHP-FPM
|
|
|
|
apt-get install php5-fpm php-pear php5-readline php5-mysql php5-curl php5-gd php5-imap php5-mcrypt php5-memcache php5-tidy php5-xmlrpc php5-sqlite php5-mongo
|
|
|
|
rm /etc/php5/fpm/pool.d/www.conf
|
|
|
|
vi /etc/nginx/fastcgi_params
|
|
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
|
|
# ShadowSocks
|
|
|
|
apt-get install python-pip python-m2crypto
|
|
pip install shadowsocks
|
|
|
|
mkdir /etc/shadowsocks
|
|
|
|
vi /etc/default/supervisor
|
|
|
|
ulimit -n 51200
|
|
|
|
iptables -A OUTPUT -p tcp --dport 25 -d smtp.postmarkapp.com -j ACCEPT
|
|
iptables -A OUTPUT -p tcp --dport 25 -j DROP
|
|
iptables-save > /etc/iptables.rules
|
|
|
|
### Runtime
|
|
|
|
# Shell
|
|
apt-get install screen wget zip unzip iftop vim curl htop iptraf nethogs
|
|
apt-get install libcurl4-openssl-dev axel unrar-free emacs subversion subversion-tools tmux mercurial postfix
|
|
|
|
# Golang
|
|
apt-get install golang golang-go.tools
|
|
|
|
# Python
|
|
apt-get install python python3 python-pip python3-pip python-dev python3-dev python-m2crypto
|
|
pip install django tornado markdown python-memcached web.py mongo uwsgi virtualenv virtualenvwrapper flask gevent jinja2 requests MySQL-python
|
|
|
|
# Node.js
|
|
npm install forever gulp mocha harp bower -g
|