202 lines
6.1 KiB
Bash
Executable File
202 lines
6.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
echo -e '\033[35m
|
|
__
|
|
/ /__ ____ ___ ____
|
|
/ / _ \/ __ `__ \/ __ \
|
|
/ / __/ / / / / / /_/ /
|
|
/_/\___/_/ /_/ /_/ .___/
|
|
/_/
|
|
\033[0m'
|
|
echo -e "\033[35;1mLEMP server (Nginx Mysql Php-fpm) \033[0m"
|
|
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Please run as root"
|
|
exit
|
|
fi
|
|
|
|
# get the current position
|
|
_cwd="$(pwd)"
|
|
# check for assets forlder
|
|
_assets="$_cwd/assets"
|
|
if [ ! -d "$_assets" ]; then
|
|
_assets="$_cwd/../assets"
|
|
if [ ! -d "$_assets" ]; then
|
|
echo "!! can't find assets directory !!"
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
sleep 2
|
|
|
|
echo -e '\033[35m
|
|
__ ___ __
|
|
/ |/ /_ ___________ _/ /
|
|
/ /|_/ / / / / ___/ __ `/ /
|
|
/ / / / /_/ (__ ) /_/ / /
|
|
/_/ /_/\__, /____/\__, /_/
|
|
/____/ /_/
|
|
\033[0m'
|
|
echo -e "\033[35;1minstalling Mysql \033[0m"
|
|
sleep 3
|
|
apt-get --yes install mariadb-server
|
|
mysql_secure_installation
|
|
|
|
cp "$_assets"/mysql/innodb-file-per-table.cnf /etc/mysql/conf.d/
|
|
|
|
systemctl enable mariadb.service
|
|
systemctl restart mariadb.service
|
|
echo -e "\033[92;1mmysql installed\033[Om"
|
|
|
|
echo -e '\033[35m
|
|
____ __ ______
|
|
/ __ \/ / / / __ \
|
|
/ /_/ / /_/ / /_/ /
|
|
/ ____/ __ / ____/
|
|
/_/ /_/ /_/_/
|
|
\033[0m'
|
|
echo -e "\033[35;1mInstalling PHP 7.3 \033[0m"
|
|
sleep 3
|
|
|
|
# mv: cannot stat '/etc/php/7.0/fpm/php.ini': No such file or directory
|
|
# cp: cannot create regular file '/etc/php/7.0/fpm/php.ini': No such file or directory
|
|
# Configuring PHP
|
|
# Failed to enable unit: Unit file php7.0-fpm.service does not exist.
|
|
# Failed to start php7.0-fpm.service: Unit php7.0-fpm.service not found.
|
|
|
|
apt-get --yes install php7.3-fpm php7.3-mysql php7.3-opcache php7.3-curl php7.3-mbstring php7.3-zip php7.3-xml php7.3-gd php-memcached php7.3-imagick
|
|
# php7.3-mcrypt ??
|
|
|
|
mv /etc/php/7.3/fpm/php.ini /etc/php/7.3/fpm/php.ini.back
|
|
cp "$_assets"/php-fpm.ini /etc/php/7.3/fpm/php.ini
|
|
|
|
echo "Configuring PHP"
|
|
|
|
mkdir /var/log/php
|
|
chown www-data /var/log/php
|
|
cp "$_assets"/logrotate-php /etc/logrotate.d/php
|
|
|
|
systemctl enable php7.3-fpm
|
|
systemctl start php7.3-fpm
|
|
|
|
# echo "Installing memecached"
|
|
# replaced by redis
|
|
# apt-get --yes install memcached
|
|
# sed -i "s/-m\s64/-m 128/g" /etc/memcached.conf
|
|
#
|
|
# systemctl start memcached
|
|
|
|
echo -e "\033[92;1mphp installed\033[Om"
|
|
|
|
echo -e '\033[35m
|
|
_ __ _
|
|
/ | / /___ _(_)___ _ __
|
|
/ |/ / __ `/ / __ \| |/_/
|
|
/ /| / /_/ / / / / /> <
|
|
/_/ |_/\__, /_/_/ /_/_/|_|
|
|
/____/
|
|
\033[0m'
|
|
echo -e "\033[35;1mInstalling Nginx \033[0m"
|
|
sleep 3
|
|
apt-get --yes install nginx
|
|
mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.ori
|
|
cp "$_assets"/default.nginxconf /etc/nginx/sites-available/default
|
|
|
|
systemctl enable nginx
|
|
systemctl restart nginx
|
|
echo -e "\033[92;1mNginx installed\033[Om"
|
|
|
|
echo -e '\033[35m
|
|
__ __ ___ ___ __ _
|
|
____ / /_ ____ / |/ /_ __/ | ____/ /___ ___ (_)___
|
|
/ __ \/ __ \/ __ \/ /|_/ / / / / /| |/ __ / __ `__ \/ / __ \
|
|
/ /_/ / / / / /_/ / / / / /_/ / ___ / /_/ / / / / / / / / / /
|
|
/ .___/_/ /_/ .___/_/ /_/\__, /_/ |_\__,_/_/ /_/ /_/_/_/ /_/
|
|
/_/ /_/ /____/
|
|
\033[0m'
|
|
echo -e "\033[35;1mInstalling phpMyAdmin \033[0m"
|
|
##### Building dependency tree
|
|
##### Reading state information... Done
|
|
##### Package phpmyadmin is not available, but is referred to by another package.
|
|
##### This may mean that the package is missing, has been obsoleted, or
|
|
##### is only available from another source
|
|
#####
|
|
##### E: Package 'phpmyadmin' has no installation candidate
|
|
##### cp: missing destination file operand after '/root/debian-web-server/assets/nginx-phpmyadmin.conf'
|
|
##### Try 'cp --help' for more information.
|
|
|
|
# TODO no pma package available :(
|
|
# apt-get --yes install phpmyadmin
|
|
# ln -s /usr/share/phpmyadmin /var/www/html/
|
|
# cp "$_assets"/nginx-phpmyadmin.conf > /etc/nginx/sites-available/phpmyadmin.conf
|
|
# ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/phpmyadmin.conf
|
|
# echo -e "\033[92;1mphpMyAdmin installed\033[Om"
|
|
# echo -e "\033[92;1mYou can access it at yourip/phpmyadmin\033[Om"
|
|
|
|
# install from source
|
|
apt-get install php-{mbstring,zip,gd,xml,pear,gettext,cgi}
|
|
cd /var/www/html/
|
|
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
|
|
unzip phpMyAdmin-latest-all-languages.zip
|
|
mv phpMyAdmin-*-all-languages pma
|
|
rm phpMyAdmin-latest-all-languages.zip
|
|
# cp "$_assets"/nginx-phpmyadmin.conf > /etc/nginx/sites-available/phpmyadmin.conf
|
|
# ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/phpmyadmin.conf
|
|
echo -e "\033[92;1mphpMyAdmin installed\033[Om"
|
|
echo -e "\033[92;1mYou can access it at yourip/pma\033[Om"
|
|
|
|
|
|
|
|
echo -e '\033[35m
|
|
____ ___
|
|
/ __ \___ ____/ (_)____
|
|
/ /_/ / _ \/ __ / / ___/
|
|
/ _, _/ __/ /_/ / (__ )
|
|
/_/ |_|\___/\__,_/_/____/
|
|
\033[0m'
|
|
echo -e "\033[35;1mInstalling Redis \033[0m"
|
|
sleep 3
|
|
apt-get --yes install redis-server php-redis
|
|
|
|
# TODO set maxmemory=2gb
|
|
# TODO set maxmemory-policy=volatile-lru
|
|
# TODO comment all save line
|
|
|
|
|
|
systemctl enable redis-server
|
|
systemctl restart redis-server
|
|
systemctl restart php7.3-fpm
|
|
echo -e "\033[92;1mRedis installed\033[Om"
|
|
|
|
echo -e '\033[35m
|
|
______
|
|
/ ____/___ ____ ___ ____ ____ ________ _____
|
|
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
|
|
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
|
|
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
|
|
/_/
|
|
\033[0m'
|
|
echo -e "\033[35;1mInstalling Composer \033[0m"
|
|
sleep 3
|
|
export COMPOSER_HOME=/usr/local/composer
|
|
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
|
|
|
echo -e "\033[92;1mComposer installed\033[Om"
|
|
|
|
|
|
echo -e '\033[35m
|
|
____ __
|
|
/ __ \_______ _______/ /_
|
|
/ / / / ___/ / / / ___/ __ \
|
|
/ /_/ / / / /_/ (__ ) / / /
|
|
/_____/_/ \__,_/____/_/ /_/
|
|
\033[0m'
|
|
echo -e "\033[35;1mInstalling Drush and DrupalConsole\033[0m"
|
|
sleep 3
|
|
curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal
|
|
chmod +x /usr/local/bin/drupal
|
|
# curl https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar -L -o /usr/local/bin/drush
|
|
wget -O /usr/local/bin/drush https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar
|
|
chmod +x /usr/local/bin/drush
|
|
echo -e "\033[92;1mDrush and DrupalConsoleinstalled\033[Om"
|