You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
5.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/bin/bash
# version 1.1 for MacOS 10.9
# created by Pavel Belyaev 2014
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';
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
<Directory /usr/local/phpmyadmin/www>
Options FollowSymLinks
DirectoryIndex index.php
Options Indexes
Order allow,deny
Allow from all
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag track_vars On
</IfModule>
</Directory>
<Directory /usr/local/phpmyadmin/www/libraries>
Order Deny,Allow
Deny from All
</Directory>
<Directory /usr/local/phpmyadmin/www/lib>
Order Deny,Allow
Deny from All
</Directory>' > /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 '/<Directory "\/Library.*/,/<\/Directory>/ d' $Acnf
sed -ie 's|Include /private/etc/apache2/other/|#Include /private/etc/apache2/other/|g' $Acnf
echo '
NameVirtualHost *:80
<Directory /www>
Options FollowSymLinks
Options Indexes
AllowOverride All
Order allow,deny
Allow from all
AddType application/x-httpd-php .php
</Directory>' >> $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 '<VirtualHost *:80>
ServerName localhost
DocumentRoot /www/localhost/
<Directory /www/localhost>
Options FollowSymLinks
Options Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
' > /etc/apache2/sites-enabled/100-default
echo '<?php echo "Hello World!"; ?>' > /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