#!/bin/bash # version 1.2 for MacOS 10.10 # created by Pavel Belyaev 2014 if [ `id -u` -gt 0 ]; then echo "Запустите скрипт от имени суперпользователя, для этого введите sudo имя_скрипта"; exit; fi echo " ####################################################### # данный скрипт развернет LAMP сервер на вашем MacOS! # # автор скрипта не отвечает ни за что, данный скрипт # # работает на MacOS 10.10 и только на ненастроенной # # системе, если вы модифицировали конфиги Apache или # # PHP, то для вас этот скрипт неактуален!!!! # ####################################################### " read -s -p "Для продолжения нажми любую кнопку, для завершения нажми ctrl+c" -n 1 echo ; Acnf='/etc/apache2/httpd.conf'; My_tmp=`pwd`'/tmp_install_lamp' echo "Временная папка: "$My_tmp mkdir $My_tmp cd $My_tmp echo " ######################### # Устанавливаем MYSQL! ## ######################### " curl -L -O http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16-osx10.7-x86.dmg if [ ! -f ./mysql*dmg ]; then echo "Ошибка загрузки файла mysql!!!"; exit; fi mkdir mysql hdiutil attach -mountpoint ./mysql/ mysql*dmg find ./mysql -name "*.pkg" -exec installer -pkg {} -target / \; cp -r ./mysql/MySQL.prefPane/ /Library/PreferencePanes/MySQL.prefPane killall System\ Preferences hdiutil detach ./mysql rm -r ./mysql rm mysql*dmg export PATH="/usr/local/mysql/bin:$PATH" echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> /etc/bashrc /usr/local/mysql/support-files/mysql.server start #задать пароль mysql root read -p "Введите пароль пользователя MYSQL для root: " mysql_p echo "Введенный пароль ".$mysql_p mysqladmin -u root password "$mysql_p" echo " ############################## # Устанавливаем PhpMyAdmin! ## ############################## " curl -L -o 'phpmyadmin.zip' http://sourceforge.net/projects/phpmyadmin/files/latest/download if [ ! -f ./phpmyadmin.zip ]; then echo "Ошибка загрузки файла mysql!!!"; exit; fi unzip ./phpmyadmin.zip && rm ./phpmyadmin.zip mv phpMyAdmin* phpmyadmin rm -r /usr/local/phpmyadmin/* mkdir -p /usr/local/phpmyadmin mv phpmyadmin/ /usr/local/phpmyadmin/www echo 'Alias /phpmyadmin /usr/local/phpmyadmin/www Require all granted Options FollowSymLinks DirectoryIndex index.php Options Indexes Order allow,deny Allow from all AddType application/x-httpd-php .php php_flag track_vars On Order Deny,Allow Deny from All Order Deny,Allow Deny from All ' > /usr/local/phpmyadmin/apache.conf cp /usr/local/phpmyadmin/www/config.sample.inc.php /usr/local/phpmyadmin/www/config.inc.php echo " ############################## # Конфигурируем Apache! ## ############################## " echo -n "Создаем резервную копию http.conf "; cp $Acnf $Acnf".back" sed -ie 's/#LoadModule php5_module/LoadModule php5_module/g' $Acnf sed -ie 's/#LoadModule rewrite_module/LoadModule rewrite_module/g' $Acnf sed -ie 's/DirectoryIndex index.html/DirectoryIndex index.php index.htm index.html/g' $Acnf sed -ie '// d' $Acnf sed -ie 's|Include /private/etc/apache2/other/|#Include /private/etc/apache2/other/|g' $Acnf echo ' NameVirtualHost *:80 Require all granted Options FollowSymLinks Options Indexes AllowOverride All #Order allow,deny #Allow from all AddType application/x-httpd-php .php ' >> $Acnf #sed -e '/#.*$/ d' $Acnf echo 'Include /etc/apache2/sites-enabled/*' >> $Acnf echo 'Include /usr/local/phpmyadmin/apache.conf' >> $Acnf mkdir -p /www/localhost chmod -R 777 /www mkdir -p /etc/apache2/sites-enabled/ echo ' ServerName localhost DocumentRoot /www/localhost/ Require all granted Options FollowSymLinks Options Indexes AllowOverride All #Order allow,deny #Allow from all ' > /etc/apache2/sites-enabled/100-default echo '' > /www/localhost/index.php echo " ############################## # Конфигурируем PHP! ## ############################## " cp /etc/php.ini.default /etc/php.ini sed -ie "s/pdo_mysql.default_socket.*$/pdo_mysql.default_socket = \/tmp\/mysql.sock/g" /etc/php.ini sed -ie "s/mysql.default_socket.*$/mysql.default_socket = \/tmp\/mysql.sock/g" /etc/php.ini sed -ie "s/mysqli.default_socket.*$/mysqli.default_socket = \/tmp\/mysql.sock/g" /etc/php.ini sed -ie "s/short_open_tag.*$/short_open_tag = On/g" /etc/php.ini sed -ie "s/mysql.default_port.*$/mysql.default_port = 3306/g" /etc/php.ini sed -ie "s/^upload_max_filesize.*$/upload_max_filesize = 900M/g" /etc/php.ini sed -ie "s/^post_max_size.*$/post_max_size = 900M/g" /etc/php.ini #memory economy mysql echo "# Robby's MySQL overrides (c)http://www.robbyonrails.com/articles/2013/11/24/reducing-mysqls-memory-usage-on-os-x-mavericks [mysqld] max_connections = 10 key_buffer_size = 16K max_allowed_packet = 1M table_open_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 128K " >> /usr/local/mysql/my.cnf killall -9 httpd apachectl restart /usr/local/mysql/support-files/mysql.server stop /usr/local/mysql/support-files/mysql.server start cd ../ rm -r $My_tmp