Last active
April 10, 2018 09:03
-
-
Save the0demiurge/bd09db523f3d3eb2c525abcd12402650 to your computer and use it in GitHub Desktop.
vps重置之后安装所有所需软件,部署好ssr和nextcloud
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [[ -z $TMUX ]]; then | |
echo 'must run in tmux' | |
apt update;apt install -y tmux | |
exit | |
fi | |
# Updating sources | |
read -p 'Updating packages(press Enter):' | |
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - | |
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list | |
add-apt-repository ppa:certbot/certbot | |
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D | |
echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE ./' >> /etc/apt/sources.list | |
# Installing packages | |
read -p 'Installing packages(press Enter):' | |
apt update | |
apt install loolwsd code-brand fish git unoconv elasticsearch imagemagick curl openjdk-8-jre smbclient python-certbot-apache htop nmap youtube-dl php-imagick php-memcached php-apcu php7.0-fileinfo php7.0-curl php7.0-intl php7.0-gmp php7.0-exif ffmpeg php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring php apache2 mariadb-server libapache2-mod-php7.0 unar aria2 transmission-cli software-properties-common vim-nox vim-tiny- vim- tmux | |
# Download ssr | |
read -p 'Downloading ssr install scripts(press Enter):' | |
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh | |
chmod +x shadowsocksR.sh | |
# Install nextcloud | |
read -p 'Installing Nextcloud(press Enter):' | |
NEXTCLOUD="nextcloud-13.0.1.zip" | |
wget https://download.nextcloud.com/server/releases/$NEXTCLOUD | |
unar $NEXTCLOUD | |
mv nextcloud /var/www/ | |
rm /var/www/html -r | |
chown -R www-data: /var/www | |
echo "Alias /nextcloud "/var/www/nextcloud/" | |
<Directory /var/www/nextcloud/> | |
Options +FollowSymlinks | |
AllowOverride All | |
<IfModule mod_dav.c> | |
Dav off | |
</IfModule> | |
SetEnv HOME /var/www/nextcloud | |
SetEnv HTTP_HOME /var/www/nextcloud | |
</Directory> | |
"|tee /etc/apache2/sites-available/nextcloud.conf | |
ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf | |
a2enmod rewrite | |
a2enmod headers | |
a2enmod env | |
a2enmod dir | |
a2enmod mime | |
a2enmod setenvif | |
a2enmod ssl | |
a2ensite default-ssl | |
ln -s /var/www/nextcloud/occ /usr/local/bin/occ | |
fish -c "abbr occ 'sudo -u www-data occ'" | |
echo "#!/bin/bash | |
sudo -u www-data occ files:cleanup | |
sudo -u www-data occ files:scan --all | |
sudo -u www-data occ files:scan-app-data | |
sudo -u www-data occ trashbin:expire | |
"|tee /etc/cron.hourly/occ.sh | |
chmod +x /etc/cron.hourly/occ.sh | |
echo "#!/bin/sh | |
### BEGIN INIT INFO | |
# Provides: aria2 | |
# Required-Start: $remote_fs $network | |
# Required-Stop: $remote_fs $network | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Aria2 Downloader | |
### END INIT INFO | |
case "$1" in | |
start) | |
echo -n "Starting aria2c" | |
sudo -u www-data aria2c -d /var/www/nextcloud/data/charles/files/Downloads -D --enable-rpc=true --continue=true | |
;; | |
stop) | |
echo -n "Shutting down aria2c " | |
killall aria2c | |
;; | |
restart) | |
killall aria2c | |
sudo -u www-data aria2c -d /var/www/nextcloud/data/charles/files/Downloads -D --enable-rpc=true --continue=true | |
;; | |
esac | |
exit | |
"|tee /etc/init.d/aria2c | |
chmod +x /etc/init.d/aria2c | |
sudo -u www-data mkdir -p /var/www/nextcloud/data/charles/files/Downloads | |
update-rc.d aria2c defaults | |
systemctl start aria2c | |
echo ' | |
<IfModule mpm_prefork_module> | |
StartServers 1 | |
MinSpareServers 1 | |
MaxSpareServers 3 | |
MaxClients 15 | |
MaxRequestsPerChild 3000 | |
</IfModule> | |
<IfModule mpm_worker_module> | |
StartServers 1 | |
MinSpareThreads 5 | |
MaxSpareThreads 15 | |
ThreadLimit 25 | |
ThreadsPerChild 5 | |
MaxClients 25 | |
MaxRequestsPerChild 200 | |
</IfModule> | |
'|tee -a /etc/apache2/ports.conf | |
echo '#!/bin/bash | |
certbot renew | |
'|tee /etc/cron.daily/certbot | |
chmod +x /etc/cron.dailf/certbot | |
echo '*/15 * * * * php -f /var/www/nextcloud/cron.php':tee /var/spool/cron/crontabs/www-data | |
chown www-data:crontab /var/spool/cron/crontabs | |
chmod 600 /var/spool/cron/crontabs | |
service apache2 reload | |
service apache2 restart | |
read -p 'Change default nextcloud port to 50145?[y/N]' pmt | |
if [[ $pmt == "y" ]]; then | |
sed 's/Listen 80/Listen 50145/' /etc/apache2/ports.conf -i | |
echo 'cat /etc/apache2/ports.conf' | |
echo | |
cat /etc/apache2/ports.conf | |
fi | |
read -p 'mysql password?' pw | |
echo "create database nextcloud; | |
create user 'nextcloud'@'localhost' identified by '$pw'; | |
grant all on nextcloud.* to 'nextcloud'@'localhost'; | |
flush privileges;"|mysql -uroot | |
echo -e "mariadb info: | |
username:\tnextcloud | |
password\t$pw" | |
read -p 'root password?' pw | |
echo "set password for 'root'@'localhost' = password('$pw');"|mysql -uroot | |
./shadowsocksR.sh |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment