Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
debian:server-install-d8 [2016/08/19 01:49] – [Установка] mirocow | debian:server-install-d8 [2018/06/17 20:33] (текущий) – ↷ Операцией перемещения обновлены ссылки 5.9.158.195 | ||
---|---|---|---|
Строка 3: | Строка 3: | ||
====== Скрипт установки для Debian 8 ====== | ====== Скрипт установки для Debian 8 ====== | ||
+ | <code bash> | ||
+ | $ apt install php5-cgi php5-cli php5-common php5-curl php5-dev php5-fpm php5-gd php5-intl php5-json php5-mcrypt php5-memcache php5-memcached php5-mongo php5-mysql php5-readline php5-redis php5-sqlite php5-xsl php5-geoip php5-ssh2 | ||
+ | </ | ||
+ | |||
+ | * [[develop: | ||
===== Описание ===== | ===== Описание ===== | ||
Строка 10: | Строка 15: | ||
* Установка автоматического бекапа БД MySQL (https:// | * Установка автоматического бекапа БД MySQL (https:// | ||
* Устанока скрипта для создания сайта (https:// | * Устанока скрипта для создания сайта (https:// | ||
+ | * [[system: | ||
===== Установка ===== | ===== Установка ===== | ||
Строка 25: | Строка 31: | ||
distrib=" | distrib=" | ||
hostname="" | hostname="" | ||
+ | default_pass="" | ||
- | gen_pass() { | ||
- | MATRIX=' | ||
- | LENGTH=10 | ||
- | while [ ${n:=1} -le $LENGTH ]; do | ||
- | PASS=" | ||
- | let n+=1 | ||
- | done | ||
- | echo " | ||
- | } | ||
- | |||
- | default_pass=$(gen_pass) | ||
- | |||
- | # Defning return code check function | ||
check_result() { | check_result() { | ||
if [ $1 -ne 0 ]; then | if [ $1 -ne 0 ]; then | ||
Строка 56: | Строка 50: | ||
esac | esac | ||
done | done | ||
+ | } | ||
+ | |||
+ | prompt () | ||
+ | { | ||
+ | while read -p " | ||
+ | echo " | ||
+ | done | ||
+ | |||
+ | echo $variable; | ||
} | } | ||
Строка 85: | Строка 88: | ||
apt-get update && apt-get upgrade -y | apt-get update && apt-get upgrade -y | ||
- | installpkg apt apt-utils wget chkconfig sudo nano rename debconf-utils | + | installpkg apt apt-utils wget chkconfig sudo nano rename debconf-utils |
+ | |||
+ | default_pass=$(pwgen -s 7 1) | ||
- | while read -p 'Enter the Internet domain name (e.g. nixcraft.com) : ' hostname && [[ -z "$hostname" | + | hostname=$(prompt "Enter the Internet domain name (e.g. nixcraft.com) : "); |
- | echo "No, please, no blank hostname!" | + | |
- | done | + | |
- | if promptyn "Do you wish to install default programs? " ; then | + | if promptyn "Do you wish to install default programs? |
echo -e " | echo -e " | ||
- | installpkg mc git mercurial bash-completion bzip2 numactl -y | + | installpkg mc git mercurial bash-completion bzip2 numactl |
fi | fi | ||
- | if promptyn "Do you wish to install developers programs? "; then | + | if promptyn "Do you wish to install developers programs? |
echo -e " | echo -e " | ||
- | installpkg checkinstall gcc build-essential g++ libboost-dev libboost-program-options-dev libboost-all-dev libevent-dev uuid-dev -y | + | installpkg checkinstall gcc build-essential g++ libboost-dev libboost-program-options-dev libboost-all-dev libevent-dev uuid-dev |
fi | fi | ||
- | if promptyn "Do you wish to install system monitors? "; then | + | if promptyn "Do you wish to install system monitors? |
echo -e " | echo -e " | ||
Строка 117: | Строка 120: | ||
cp / | cp / | ||
+ | fi | ||
+ | |||
+ | if promptyn "Do you wish to install FTP Server (PRO-Ftpd)? "; then | ||
+ | installpkg proftpd | ||
fi | fi | ||
if promptyn "Do you wish to install MySql? "; then | if promptyn "Do you wish to install MySql? "; then | ||
- | + | ||
+ | installpkg software-properties-common | ||
if promptyn "Do you wish to install MySql (Percona) (y) or Mariadb (n)?"; then | if promptyn "Do you wish to install MySql (Percona) (y) or Mariadb (n)?"; then | ||
- | installpkg software-properties-common | ||
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db | apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db | ||
Строка 130: | Строка 138: | ||
#deb http:// | #deb http:// | ||
#deb-src http:// | #deb-src http:// | ||
- | " > etc/ | + | " > /etc/ |
apt-get update | apt-get update | ||
Строка 138: | Строка 146: | ||
mysqladmin -u root password $default_pass | mysqladmin -u root password $default_pass | ||
- | echo -e " | + | echo -e " |
chmod 600 / | chmod 600 / | ||
- | | + | mysql -e " |
- | mysql -e "DROP DATABASE test" >/ | + | mysql -e "DROP DATABASE test" >/ |
- | mysql -e " | + | mysql -e " |
- | mysql -e " | + | mysql -e " |
- | mysql -e "FLUSH PRIVILEGES" | + | mysql -e "FLUSH PRIVILEGES" |
echo -e " | echo -e " | ||
Строка 151: | Строка 159: | ||
else | else | ||
- | + | # for sid | |
- | installpkg software-properties-common | + | apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 |
+ | # for jessie | ||
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db | apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db | ||
Строка 160: | Строка 169: | ||
deb [arch=amd64, | deb [arch=amd64, | ||
deb-src http:// | deb-src http:// | ||
- | " > etc/ | + | " > /etc/ |
apt-get update | apt-get update | ||
installpkg mariadb-server mariadb-client mariadb-common mytop -y | installpkg mariadb-server mariadb-client mariadb-common mytop -y | ||
- | sevice | + | service |
check_result $? "mysql start failed" | check_result $? "mysql start failed" | ||
Строка 170: | Строка 179: | ||
echo -e " | echo -e " | ||
chmod 600 / | chmod 600 / | ||
- | | + | mysql -e " |
- | mysql -e "DROP DATABASE test" >/ | + | mysql -e "DROP DATABASE test" >/ |
- | mysql -e " | + | mysql -e " |
- | mysql -e " | + | mysql -e " |
- | mysql -e "FLUSH PRIVILEGES" | + | mysql -e "FLUSH PRIVILEGES" |
echo -e " | echo -e " | ||
Строка 192: | Строка 201: | ||
deb http:// | deb http:// | ||
deb-src http:// | deb-src http:// | ||
- | " > etc/ | + | " > /etc/ |
apt-get update | apt-get update | ||
Строка 209: | Строка 218: | ||
wget -q http:// | wget -q http:// | ||
+ | |||
+ | php_ver=$(prompt " | ||
echo " | echo " | ||
Строка 214: | Строка 225: | ||
deb http:// | deb http:// | ||
deb-src http:// | deb-src http:// | ||
- | " > etc/ | + | " > /etc/ |
apt-get update | apt-get update | ||
- | service | + | service |
- | installpkg -u -t stable | + | installpkg -u -t stable |
- | | + | |
- | echo " | + | echo " |
- | service | + | service |
- | check_result $? "php5-fpm start failed" | + | check_result $? "php${php_ver}-fpm start failed" |
echo -e " | echo -e " | ||
- | chkconfig | + | chkconfig |
- | set_default_value | + | set_default_value |
fi | fi | ||
Строка 241: | Строка 252: | ||
# RabbitMq | # RabbitMq | ||
deb http:// | deb http:// | ||
- | " > etc/ | + | " > /etc/ |
apt-get update | apt-get update | ||
Строка 299: | Строка 310: | ||
chmod 640 / | chmod 640 / | ||
rm -rf / | rm -rf / | ||
- | | + | mkdir -p / |
- | | + | rm -f / |
- | ln -s / | + | ln -s / |
- | service sendmail stop > /dev/null 2>&1 | + | service sendmail stop > /dev/null 2>&1 |
- | service postfix stop > /dev/null 2>& | + | service postfix stop > /dev/null 2>& |
- | service exim4 start | + | service exim4 start |
- | | + | check_result $? "exim4 start failed" |
- | chkconfig exim4 on | + | chkconfig exim4 on |
set_default_value ' | set_default_value ' | ||
Строка 315: | Строка 326: | ||
if promptyn "Do you wish to install Dovecot? "; then | if promptyn "Do you wish to install Dovecot? "; then | ||
- | | + | gpasswd -a dovecot mail |
- | chown -R root:root / | + | chown -R root:root / |
service dovecot stop > /dev/null 2>&1 | service dovecot stop > /dev/null 2>&1 | ||
installpkg dovecot-imapd dovecot-pop3d dovecot-common -y | installpkg dovecot-imapd dovecot-pop3d dovecot-common -y | ||
Строка 322: | Строка 333: | ||
check_result $? " | check_result $? " | ||
- | | + | |
set_default_value ' | set_default_value ' | ||
Строка 331: | Строка 342: | ||
installpkg fail2ban -y | installpkg fail2ban -y | ||
- | | + | if [ " |
- | fline=$(cat / | + | fline=$(cat / |
- | fline=$(echo " | + | fline=$(echo " |
- | sed -i " | + | sed -i " |
- | fi | + | fi |
- | | + | chkconfig fail2ban on |
- | service fail2ban start | + | service fail2ban start |
- | check_result $? " | + | check_result $? " |
fi | fi | ||
Строка 370: | Строка 381: | ||
if promptyn "Do you wish to set default shell settings? "; then | if promptyn "Do you wish to set default shell settings? "; then | ||
- | echo -e "Base system configure" | + | echo -e "Base system configure" |
- | echo ' | + | echo ' |
- | # | + | # |
- | # My config | + | # My config |
- | # | + | # |
- | alias nano=" | + | |
- | alias ls="ls --color=always" | + | |
- | alias grep=' | + | |
- | alias fgrep=' | + | |
- | alias egrep=' | + | |
- | HISTSIZE=50000 | + | |
- | HISTFILESIZE=50000 | + | |
- | export HISTCONTROL=ignoreboth | + | |
- | shopt -s cmdhist | + | |
- | shopt -s histappend | + | |
- | shopt -s checkwinsize | + | |
- | shopt -s extglob | + | |
- | ulimit -c 0 | + | |
- | # | + | #search in history with arrows |
- | # Functions | + | bind '" |
- | # | + | bind '" |
- | # | + | alias nano=" |
- | # Функции работы с историей комманд | + | alias ls=" |
- | # | + | alias grep=' |
+ | alias fgrep=' | ||
+ | alias egrep=' | ||
+ | HISTSIZE=50000 | ||
+ | HISTFILESIZE=50000 | ||
+ | export HISTCONTROL=ignoreboth | ||
+ | shopt -s cmdhist | ||
+ | shopt -s histappend | ||
+ | shopt -s checkwinsize | ||
+ | shopt -s extglob | ||
+ | ulimit | ||
- | function h(){ | + | # |
- | history| grep " | + | # Functions |
- | } | + | # |
- | # Включение магии bash | + | #----------------------------------- |
- | if [ -f / | + | # Функции работы с историей комманд |
- | . / | + | # |
- | fi | + | |
- | ' >> ~/.bashrc | + | function h(){ |
- | source ~/.bashrc | + | history| grep " |
- | + | } | |
- | echo ' | + | |
- | set tabsize " | + | # Включение магии bash |
- | ' >> ~/.nanorc | + | if [ -f / |
+ | . / | ||
+ | fi | ||
+ | |||
+ | ' >> ~/.bashrc | ||
+ | source ~/.bashrc | ||
+ | |||
+ | echo ' | ||
+ | set tabsize " | ||
+ | ' >> ~/.nanorc | ||
fi | fi | ||
apt-get update | apt-get update | ||
apt-get upgrade | apt-get upgrade | ||
+ | apt-get autoremove -y | ||
</ | </ |