Philosophy
- Minimalism
- One script = One task
- Do not disable OS security!
- No control panel = No security problems
- One project = One user
Step by step for CentOS 7
- Install core edition CentOS 7
- Clone project
yum install git mc cd /root git clone https://github.com/faew/linux.feature.git cd /root/linux.feature/script/centos7/ mc
- Update system and enable SELinux. System will be reboot.
sh 00-update-system.sh
- If the server has no swap file (on a small VPS/VDS with full virtualization).
sh 00.1-add-swap-file.sh
- Installing the base utilities and initialize the password vault.
sh 01-install-utils.sh
- NTP in the new version
sh 02-install-chrony.sh
- Enable firewall, put first network interface into “public” zone.
sh 03-enable-firewall.sh
- Protect ssh
sh 04-install-fail2ban.sh
- Install Apache with virtualhost template (now only php).
sh 05-install-apache.sh
- Installation of the development packages to further compile the code.
sh 06-install-devel.sh
- Install php (now 5.4 in OS)
sh 07-install-php.sh
- Install mysql (now 5.7), run mysql_secure_installation, save root mysql password
sh 08-install-mysql.sh
- Install service for website acceleration
sh 09-install-sphinx.sh sh 10-install-redis.sh sh 11-install-memcached.sh
- Install php modules (for compile)
sh 12-install-php-imagick.sh sh 13-install-php-opcache.sh sh 14-install-php-intl.sh sh 15-install-php-suhosin.sh
- Install programming languages
sh 16-install-python3.5.sh sh 17-install-ruby2.3.sh
- Install FTP
sh 18-install-vsftpd.sh sh 18.1-enable-vsftpd-force-tls.sh
- Install postgresql with md5 passwords
sh 19-install-postgresql.sh
- Compilation of Museum php versions in cgi mode
sh 20-compile-php-5.2.17.sh sh 21-compile-php-5.1.6.sh sh 22-compile-php-5.3.29.sh sh 23-compile-php-5.0.5.sh sh 24-compile-php-4.4.9.sh
- Monitoring agent for zabbix
sh 25-install-zabbix-agent.sh
- Install PhpMyAdmin
sh 26-install-phpmyadmin.sh
- Install rabbitmq
sh 27-install-rabbitmq.sh
- Installing powerDNS with the administrative panel
sh 28-install-pdns.sh sh 29-install-poweradmin.sh
- Create new mysql Database. The password will be shown.
sh add-mysql-user.sh user_name_create_as_db_name
- Create web user.
sh add-www-user.sh domain.name.without.www # set password for ssh and ftp # home forlder /var/www/domain.name.without.www/ # web root /var/www/domain.name.without.www/htdocs passwd domain.name.without.www