From 8541dc9a022c0a1daea3ff05af15db9a20c07c63 Mon Sep 17 00:00:00 2001 From: PavelBelyaev Date: Mon, 17 Feb 2014 02:14:24 +0600 Subject: [PATCH] LAMP in MacOS 10.9 x64 Install and configure mysql, apache, php, phpmyadmin --- lamp-on-mac.sh | 140 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100755 lamp-on-mac.sh diff --git a/lamp-on-mac.sh b/lamp-on-mac.sh new file mode 100755 index 0000000..0e91680 --- /dev/null +++ b/lamp-on-mac.sh @@ -0,0 +1,140 @@ +#/bin/bash + +if [ `id -u` -gt 0 ]; then +echo "Запустите скрипт от имени суперпользователя, для этого введите sudo имя_скрипта"; +exit; +fi + +echo " +####################################################### +# данный скрипт разбернет LAMP сервер на вашем MacOS! # +# автор скрипта не отвечает ни за что, данный скрипт # +# работает на MacOS 10.9 и только на ненастроенной # +# системе, если вы модифицировали конфиги Apache или # +# PHP, то для вас этот скрипт неактуален!!!! # +####################################################### + +" +read -s -p "Для продолжения нажми любую кнопку, для завершения нажми ctrl+c" -n 1 +echo ; + +Acnf='/etc/apache2/httpd.conf'; +Pcnf='/etc/apa'; +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 + + +#задать пароль 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 + + 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/DirectoryIndex index.html/DirectoryIndex index.php index.htm index.html/g' $Acnf +sed -ie '// d' $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/ + + + + Options FollowSymLinks + Options Indexes + AllowOverride All + Order allow,deny + Allow from all + + +' > /etc/apache2/sites-enabled/000-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 + + +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 + + +