рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд▓реНрджреА рд╕реЗ рдЕрдкрд╛рдЪреЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдПрдВ

рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВ рд╡реАрдкреАрдПрд╕ рд╕реЗ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛, рдФрд░ рдореБрдЭреЗ рдЕрдЪрд╛рдирдХ рдкреБрд░рд╛рдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдирдП рдПрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╡рд╛рд▓ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЕрд░реНрдерд╛рдд, рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рддреНрд╡рд░рд┐рдд рдирд┐рд░реНрдорд╛рдгред рдмреЗрд╢рдХ, ISPmanager рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд╛рдВрдЧ рдореЗрдВ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЭреЗ рджреЛ рдЪреАрдЬреЗрдВ рдкрд╕рдВрдж рдирд╣реАрдВ рдереАрдВ:

рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдХрд▓рдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВ рдЕрдкрд╛рдЪреЗ рдФрд░ php рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рд╣реИрдВ рд╣реЗрд░реЗрдмреЗ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ред рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рддреНрд╡рд░рд┐рдд рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдЬрд┐рд╕ рд╕реЗ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдореИрдВ рдПрдХ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдкреВрдЫрдирд╛ред

рдореИрдВрдиреЗ рддрд░реНрдХ рдХреЛ рджреЛ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╢рд░реНрддреЗрдВред

рдПрдХ рдирдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ (/ рд╣реЛрдо / рдПрдХреНрд╕рд╕рд╛рдЗрдЯ)
#!/bin/bash IP_ADDRESS="1.2.3.4" APACHE2_DIR="/etc/apache2" UID_ROOT=0 if [ "$UID" -ne "$UID_ROOT" ]; then echo "$0 - Requires root privileges" exit 1 fi function is_user(){ local check_user="$1"; grep "$check_user:" /etc/passwd >/dev/null if [ $? -ne 0 ]; then #echo "NOT HAVE USER" return 0 else #echo "HAVE USER" return 1 fi } function generate_pass(){ CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()-_=+\\|/" LENGTH="8" while [ "${n:=1}" -le "$LENGTH" ] ; do PASSWORD="$PASSWORD${CHARS:$(($RANDOM%${#CHARS})):1}" let n+=1 done echo $PASSWORD } function is_yes(){ #TODO - add check 3-rd parameter for set default ansver (if press enter) while true do echo -n "Yes or No[Y/n]:" read x if [ -z "$x" ] then return 0; #defaul answer: Yes fi case "$x" in y |Y |yes | | | ) return 0;; n |N |no | | | ) return 1;; # * ) ; # asc again esac done } function create_user(){ local login="$1" local password="$2" `useradd -m -s /bin/bash $login` #set password echo -e "$password\n$password\n" | passwd $login >> /dev/null } USER_NAME=$1 echo -n "Check user name $USER_NAME: " if( is_user "$USER_NAME" )then USER_PASSWORD="$(generate_pass)" echo "-----------------------------------" echo "User name : $USER_NAME" echo "User password: $USER_PASSWORD" echo "-----------------------------------" echo -n "Continue? " if(! is_yes) then exit; fi echo "--- create user ---" create_user "$USER_NAME" "$USER_PASSWORD" fi if [ $# -eq 2 ]; then if [ "$2" != "delete" ]; then SITE_NAME=$2 mkdir /home/$USER_NAME/$SITE_NAME mkdir /home/$USER_NAME/$SITE_NAME/www mkdir /home/$USER_NAME/$SITE_NAME/logs mkdir /home/$USER_NAME/$SITE_NAME/tmp mkdir /home/$USER_NAME/$SITE_NAME/cgi-bin hostConf=" <VirtualHost ${IP_ADDRESS}:80> ServerName $SITE_NAME ServerAlias www.$SITE_NAME ServerAdmin webmaster@$SITE_NAME AddDefaultCharset utf-8 AssignUserID ${USER_NAME} ${USER_NAME} DocumentRoot /home/$USER_NAME/$SITE_NAME/www CustomLog log combined ErrorLog /home/$USER_NAME/$SITE_NAME/logs/error.log DirectoryIndex index.php index.html ScriptAlias /cgi-bin/ /home/$USER_NAME/$SITE_NAME/cgi-bin <FilesMatch \"\\.ph(p[3-5]?|tml)$\"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch \"\\.phps$\"> SetHandler application/x-httpd-php-source </FilesMatch> php_admin_value upload_tmp_dir "/home/$USER_NAME/$SITE_NAME/tmp" php_admin_value session.save_path "/home/$USER_NAME/$SITE_NAME/tmp" php_admin_value open_basedir "/home/$USER_NAME/$SITE_NAME/www:." </VirtualHost> <Directory /home/$USER_NAME/$SITE_NAME/www> Options +Includes +ExecCGI php_admin_flag engine on </Directory> " touch ${APACHE2_DIR}/vhosts/${SITE_NAME}.conf echo "$hostConf" >> ${APACHE2_DIR}/vhosts/${SITE_NAME}.conf touch //home/$USER_NAME/$SITE_NAME/www/index.php echo "<?php phpinfo() ?>" >> /home/$USER_NAME/$SITE_NAME/www/index.php chown $USER_NAME:$USER_NAME /home/$USER_NAME/$SITE_NAME/* service apache2 restart fi fi; #display information echo "*****************************************" echo "* Profit!" echo "*****************************************" 

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо рд╕рд░реНрд╡рд░ рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдкрд╛рдЪреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ
 chmod -x /home/addsite 

рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
 Include vhosts/ 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрд╕ рдЪрд▓рд╛рдПрдВ
 /home/addsite user_name site.ru 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдПрдЧреА рдФрд░ рдЕрдкрд╛рдЪреЗ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдЧреАред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рдирдП рдмрдирд╛рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рджрд┐рдЦрд╛рдирд╛ рдирд╣реАрдВ рднреВрд▓реЗрдВрдЧреЗред
рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ред PhpMyAdmin рд╕реЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдиреЗ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдлрд┐рд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдлрд┐рд░ рднреА рдПрдХ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдпрд╛рдж рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдЬреАрд╡рди (/ home / addbd) рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред
 #!/bin/bash MYSQL_PASS="derev123blog" UID_ROOT=0 if [ "$UID" -ne "$UID_ROOT" ]; then echo "$0 - Requires root privileges" exit 1 fi function generate_pass(){ CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()-_=+\\|/" LENGTH="8" while [ "${n:=1}" -le "$LENGTH" ] ; do PASSWORD="$PASSWORD${CHARS:$(($RANDOM%${#CHARS})):1}" let n+=1 done echo $PASSWORD } function is_running(){ local result="$(ps -A|grep $1|wc -l)" if [[ $result -eq 0 ]]; then return 1 else return 0 fi } if [ $# -eq 1 ]; then echo -n "Check MySQL status: " if(is_running mysqld)then echo "OK [Running]"; DB_NAME=$1 DB_PASSWORD="$(generate_pass)" mysql -uroot -p${MYSQL_PASS} --execute="create database ${DB_NAME};" mysql -uroot -p${MYSQL_PASS} --execute="GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_NAME}'@'localhost' IDENTIFIED by '${DB_PASSWORD}' WITH GRANT OPTION;" else echo "Error: need start mysql daemon!" exit fi fi; #display information echo "*****************************************" echo "* Data base name: ${DB_NAME}" echo "* Data base user: ${DB_NAME}" echo "* User password: ${DB_PASSWORD}" echo "* Profit!" echo "*****************************************" 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, MySQL рд╕реЗ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░реЗрдВред рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ
 /home/addsite bd_name 

рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдк рдХрдорд╛рдВрдб рдбреЗрдЯрд╛ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП / рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЗрдВ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
 cp /home/addsite /bin/addsite cp /home/addbd /bin/addbd 

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдореЗрд░реЗ рдЬреАрд╡рди рдХреЛ рднреА рд╕рд░рд▓ рдмрдирд╛ рджреЗрдЧрд╛ред


Source: https://habr.com/ru/post/In209962/


All Articles