Created
June 13, 2014 00:05
-
-
Save soncco/6fc7d0be8a4d7ca557d0 to your computer and use it in GitHub Desktop.
Ubuntu 14.04
This file contains 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/sh | |
############################################################################### | |
############# CONFIGURADOR SERVER ESTANDAR LAMP UBUNTU 14.04 ################## | |
################################################################## v 0.1 ###### | |
##### ejecutar como root (sin sudo) ########################################### | |
##### requisitos: ############################################################# | |
##### *) ssh y ssh_keys instaladas ############################################ | |
##### *) particiones extras montadas (/home/mysql, swap) ###################### | |
##### *) resolv.conf contiene los dns validos (google o isp) ################## | |
##### *) OBLIGATORIO: password mariadb/mysql inicial 123456 ################### | |
##### *) OPCIONAL: bloquear ipv6 ############################################## | |
############################################################################### | |
############################################################################### | |
##### PARAMETROS ############################################################## | |
read -p "hostname: " MY_HOSTNAME | |
read -p "interfaz red (ex eth0): " MY_LAN_INTERFAZ | |
read -p "ip principal: " MY_IP | |
read -p "gateway: " MY_GATEWAY | |
read -p "mascara red: " MY_NETMASK | |
##### DNSMASQ ################################################################# | |
apt -y install dnsmasq | |
cd /etc/ | |
cp resolv.conf resolv.dnsmasq.conf | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/resolv.conf.tmpl | |
mv resolv.conf.tmpl resolv.conf | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/dnsmasq.conf.tmpl | |
mv dnsmasq.conf.tmpl dnsmasq.conf | |
service dnsmasq restart | |
##### NETWORKING ############################################################## | |
cd /etc/network/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/interfaces.tmpl | |
rm interfaces | |
sed -e s/"MY_LAN_INTERFAZ"/"$MY_LAN_INTERFAZ"/g interfaces.tmpl > interfaces.tmpl.1 | |
sed -e s/"MY_IP"/"$MY_IP"/g interfaces.tmpl.1 > interfaces.tmpl.2 | |
sed -e s/"MY_GATEWAY"/"$MY_GATEWAY"/g interfaces.tmpl.2 > interfaces.tmpl.3 | |
sed -e s/"MY_NETMASK"/"$MY_NETMASK"/g interfaces.tmpl.3 > interfaces | |
rm interfaces.* | |
service networking restart | |
##### LANG #################################################################### | |
apt -y install language-pack-es language-pack-es-base | |
/usr/share/locales/install-language-pack es_PE | |
vim /etc/environment | |
vim /etc/default/locale | |
vim /var/lib/locales/supported.d/local | |
vim /usr/share/i18n/locales/es_ES | |
dpkg-reconfigure locales | |
dpkg-reconfigure tzdata | |
##### BASE #################################################################### | |
apt -y install software-properties-common build-essential htop vim zip unzip rar unace p7zip-full p7zip-rar sharutils mpack arj git | |
vim /etc/hostname | |
vim /etc/hosts | |
##### REPOSITORIOS ############################################################ | |
rm /etc/apt/sources.list | |
cd /etc/apt/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/sources.list.tmpl | |
mv sources.list.tmpl /etc/apt/sources.list | |
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 40976EAF437D05B5 | |
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32 | |
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 16126D3A3E5C1192 | |
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db | |
add-apt-repository 'deb http://mirror.1000mbps.com/mariadb/repo/10.0/ubuntu trusty main' | |
apt-add-repository ppa:sjinks/phalcon | |
apt update | |
apt -y full-upgrade | |
##### LIMPIEZA ################################################################ | |
/etc/init.d/apparmor stop | |
update-rc.d -f apparmor remove | |
apt-get -y remove --purge apparmor apparmor-utils | |
apt-get -y remove --purge lib-apparmor | |
apt-get -y remove --purge consolekit | |
apt-get -y remove --purge resolvconf | |
apt-get -y remove --purge language-pack-en | |
apt-get -y remove --purge language-pack-en-base | |
apt-get -y remove --purge sudo | |
apt-get -y remove --purge landscape-common | |
apt-get -y remove --purge irqbalance | |
rm /etc/init.d/tty2.conf /etc/init.d/tty3.conf /etc/init.d/tty4.conf /etc/init.d/tty5.conf /etc/init.d/tty6.conf | |
rm /etc/init/tty2.conf /etc/init/tty3.conf /etc/init/tty4.conf /etc/init/tty5.conf /etc/init/tty6.conf | |
##### SSH ##################################################################### | |
cd /etc/ssh/ | |
rm sshd_config | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/sshd_config.tmpl | |
sed -e s/"MY_IP"/"$MY_IP"/g sshd_config.tmpl > sshd_config | |
rm sshd_config.* | |
service ssh restart | |
##### MEMCACHED ############################################################### | |
apt -y install memcached | |
##### PROFTPD ################################################################# | |
apt -y install proftpd | |
cd /etc/proftpd/ | |
rm proftpd.conf | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/proftpd.conf.tmpl | |
sed -e s/"MY_IP"/"$MY_IP"/g proftpd.conf.tmpl > proftpd.conf.1 | |
sed -e s/"MY_HOSTNAME"/"$MY_HOSTNAME"/g proftpd.conf.1 > proftpd.conf | |
rm proftpd.conf.* | |
service proftpd restart | |
##### FAIL2BAN ################################################################ | |
apt -y install fail2ban | |
cd /etc/fail2ban/ | |
rm jail.conf | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/jail.conf.tmpl | |
mv jail.conf.tmpl jail.conf | |
service fail2ban restart | |
##### MARIADB ################################################################# | |
apt-get -y install mariadb-server | |
service mysql stop | |
mkdir /home/mysql/ | |
cp -r /var/lib/mysql/* /home/mysql/ | |
rm -rf /var/lib/mysql/* | |
chown -R mysql:mysql /home/mysql/ | |
chmod 700 /home/mysql/ | |
rm /home/mysql/ib_logfile0 | |
rm /home/mysql/ib_logfile1 | |
rm /etc/mysql/my.cnf | |
rm /etc/mysql/conf.d/mariadb.cnf | |
rm /var/log/mysql/mariadb-bin.* | |
cd /etc/mysql/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/my.cnf.tmpl | |
mv my.cnf.tmpl my.cnf | |
cd /etc/mysql/conf.d/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/mariadb.cnf.tmpl | |
mv mariadb.cnf.tmpl mariadb.cnf | |
service mysql start | |
cd /root/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/root.my.cnf.tmpl | |
mv root.my.cnf.tmpl .my.cnf | |
chmod 600 .my.cnf | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/post.sql.tmpl | |
mv post.sql.tmpl post.sql | |
mysql -u root -p123456 < post.sql | |
rm post.sql | |
##### PYTHON-DJANGO ########################################################### | |
apt -y install python-mysqldb python-pip python-django python-flup | |
pip install django-suit | |
##### WWW-DATA/WWW-SSL DIRECTORY ############################################## | |
mkdir /home/www-data/ | |
chmod 700 /home/www-data/ | |
chown www-data:www-data /home/www-data/ | |
cd /home/www-data/ | |
mkdir tmp | |
mkdir www | |
mkdir www-ssl | |
chmod 700 * | |
chown -R www-data:www-data * | |
mkdir /home/www-data/www-ssl/pmadmin/ | |
cd /home/www-data/www-ssl/pmadmin/ | |
wget https://dl.dropboxusercontent.com/u/1201303/pmadmin-4.2.1.zip | |
unzip pmadmin-4.2.1.zip && rm pmadmin-4.2.1.zip | |
cd /home/www-data/www-ssl/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/www-ssl.index.html.tmpl | |
sed -e s/"MY_HOSTNAME"/"$MY_HOSTNAME"/g www-ssl.index.html.tmpl > index.html | |
rm www-ssl.index.html.tmpl | |
cd /home/www-data/www-ssl/pmadmin/ | |
rm config.inc.php | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/pmadmin.config.inc.php.tmpl | |
sed -e s/"MY_HOSTNAME"/"$MY_HOSTNAME"/g pmadmin.config.inc.php.tmpl > config.inc.php | |
rm pmadmin.config.inc.php.tmpl | |
vim config.inc.php | |
##### WWW-DATA/WWW DIRECTORY ################################################## | |
cd /home/www-data/www/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/www.tmpl.zip | |
unzip www.tmpl.zip | |
rm www.tmpl.zip | |
vim index.php | |
##### PHP5-FPM Y CLI ########################################################## | |
apt -y install php5-fpm php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json php5-phalcon | |
php5enmod imap | |
php5enmod mcrypt | |
php5enmod ps | |
php5enmod readline | |
rm /etc/php5/fpm/php.ini | |
rm /etc/php5/fpm/pool.d/www.conf | |
cd /etc/php5/fpm/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/php.ini.tmpl | |
mv php.ini.tmpl php.ini | |
cp php.ini /etc/php5/cli/php.ini | |
cd /etc/php5/fpm/pool.d/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/php.www.conf.tmpl | |
sed -e s/"MY_HOSTNAME"/"$MY_HOSTNAME"/g php.www.conf.tmpl > www.conf | |
rm php.www.conf.tmpl | |
service php5-fpm restart | |
##### APACHE2.4 ############################################################### | |
apt -y install apache2 apache2-suexec-custom libapache2-mod-fcgid | |
a2enmod rewrite | |
a2enmod proxy_fcgi | |
a2enmod ssl | |
a2dismod autoindex | |
a2dismod negotiation | |
a2dismod status | |
a2dismod suexec | |
a2dismod fcgid | |
a2disconf serve-cgi-bin | |
a2disconf other-vhosts-access-log | |
a2disconf localized-error-pages | |
a2dissite 000-default | |
rm /etc/apache2/apache2.conf | |
rm /etc/apache2/ports.conf | |
rm /etc/apache2/suexec/www-data | |
rm /etc/apache2/sites-available/* | |
cd /etc/apache2/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/apache2.conf.tmpl | |
sed -e s/"MY_HOSTNAME"/"$MY_HOSTNAME"/g apache2.conf.tmpl > apache2.conf | |
rm apache2.conf.tmpl | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/ports.conf.tmpl | |
sed -e s/"MY_IP"/"$MY_IP"/g ports.conf.tmpl > ports.conf | |
rm ports.conf.tmpl | |
cd /etc/apache2/conf-available/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/conf-available/charset.conf.tmpl | |
mv charset.conf.tmpl charset.conf | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/conf-available/security.conf.tmpl | |
mv security.conf.tmpl security.conf | |
cd /etc/apache2/mods-available/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/mods-available/dir.conf.tmpl | |
mv dir.conf.tmpl dir.conf | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/mods-available/fcgid.conf.tmpl | |
mv fcgid.conf.tmpl fcgid.conf | |
cd /etc/apache2/suexec/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/suexec/www-data.tmpl | |
mv www-data.tmpl www-data | |
cd /etc/apache2/sites-available/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/sites-available/default.conf.tmpl | |
sed -e s/"MY_IP"/"$MY_IP"/g default.conf.tmpl > default.conf.tmpl.1 | |
sed -e s/"MY_HOSTNAME"/"$MY_HOSTNAME"/g default.conf.tmpl.1 > default.conf | |
rm default.conf.* | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/apache2/sites-available/default-ssl.conf.tmpl | |
sed -e s/"MY_IP"/"$MY_IP"/g default-ssl.conf.tmpl > default-ssl.conf.tmpl.1 | |
sed -e s/"MY_HOSTNAME"/"$MY_HOSTNAME"/g default-ssl.conf.tmpl.1 > default-ssl.conf | |
rm default-ssl.conf.* | |
a2ensite default | |
a2ensite default-ssl | |
service apache2 restart | |
##### ANACR0N SERVICES ######################################################## | |
cd /etc/cron.daily/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/memcached.tmpl | |
mv memcached.tmpl memcached | |
chmod 755 ./memcached | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/ntpdate.tmpl | |
mv ntpdate.tmpl ntpdate | |
chmod 755 ./ntpdate | |
##### ROOT UTILS ############################################################## | |
mkdir /root/bin/ | |
mkdir /root/tmpl/ | |
cd /root/bin/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/root/bin/delete_user.tmpl | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/root/bin/new_user_static.tmpl | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/root/bin/new_user_fpm.tmpl | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/root/bin/kcleaner.tmpl | |
mv delete_user.tmpl delete_user | |
mv new_user_static.tmpl new_user_static | |
mv new_user_fpm.tmpl new_user_fpm | |
mv kcleaner.tmpl kcleaner | |
chmod 700 ./* | |
cd /root/tmpl/ | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/root/tmpl/fpm.conf.tmpl | |
mv fpm.conf.tmpl fpm.conf | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/root/tmpl/vhost.fpm.conf.tmpl | |
sed -e s/"MY_IP"/"$MY_IP"/g vhost.fpm.conf.tmpl > vhost.fpm.conf | |
rm vhost.fpm.conf.* | |
wget https://dl.dropboxusercontent.com/u/1201303/trusty/root/tmpl/vhost.static.conf.tmpl | |
sed -e s/"MY_IP"/"$MY_IP"/g vhost.static.conf.tmpl > vhost.static.conf | |
rm vhost.static.conf.* | |
chmod 600 ./* | |
##### LIMPIEZA ################################################################ | |
apt-get -y autoremove --purge | |
apt-get clean | |
############################################################################### | |
#eof |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment