-
Notifications
You must be signed in to change notification settings - Fork 1
[NonRoot] install (nginx php fpm mysqld)
WANJO CHAN edited this page Dec 19, 2018
·
14 revisions
export SVRT_PORT=8888
cat > env.sh <<TT1
export SVRT_PORT=\$*
export SVRT=/data/$USER/server\$SVRT_PORT
export SVRT_SOFT=\$SVRT/soft
export SVRT_RUN=\$SVRT/run
export SVRT_WEB=\$SVRT-web
mkdir -p \$SVRT_RUN
mkdir -p \$SVRT_WEB
#export LD_LIBRARY_PATH="\$SVRT_SOFT/usr/lib/x86_64-linux-gnu:\$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="\$SVRT_SOFT/usr/lib/x86_64-linux-gnu:\$SVRT_SOFT/lib/x86_64-linux-gnu"
export VER_PHPFPM=7.2
export VER_MYSQLD=5.7
#export VER_NGINX=
TT1
echo SVRT_SOFT=$SVRT_SOFT
source env.sh $SVRT_PORT
echo SVRT_PORT=$SVRT_PORT
echo SVRT_SOFT=$SVRT_SOFT
echo VER_PHPFPM=$VER_PHPFPM
echo VER_MYSQLD=$VER_MYSQLD
echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
cat > download_pkg.sh <<TTT
PACKAGE=\$*
apt-get download \$PACKAGE
apt-cache depends -i \$PACKAGE | awk '/Depends:/ {print \$2}' | xargs apt-get download
TTT
rm *.deb
cat download_pkg.sh
#
sh download_pkg.sh nginx-light
#sh download_pkg.sh nginx-full
#
#apt-get download libsodium-dev
#apt-get download libsodium23
sh download_pkg.sh php$VER_PHPFPM-fpm
#apt-get download mysql-server-core-$VER_MYSQLD
sh download_pkg.sh mysql-server-core-$VER_MYSQLD
#sh download_pkg.sh mysql-server-$VER_MYSQLD
apt-get download mysql-server-$VER_MYSQLD
#sh download_pkg.sh mysql-client-$VER_MYSQLD
apt-get download mysql-client-$VER_MYSQLD
#apt-get download libaio-dev
apt-get download php$VER_PHPFPM-mysql
#apt-get download php-mysqli
ls -al *.deb
mkdir -p $SVRT_SOFT
for f in *.deb ; do
dpkg -x $f $SVRT_SOFT
done
echo SVRT_SOFT=$SVRT_SOFT
ls $SVRT_SOFT
# tune config
## fpm
## TODO using var later
sed "s#^include\s*=.*#include=$SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/*.conf#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf
sed "s#^error_log\s*=.*#error_log=$SVRT_RUN/phpfpm.log#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf
sed "s#^pid\s*=.*#pid=$SVRT_RUN/phpfpm.pid#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf
sed "s#^listen\s*=.*#listen=$SVRT_RUN/phpfpm.sock#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/www.conf
sed "s#^user\s*=.*#user=$USER#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/www.conf
sed "s#^group\s*=.*#group=$USER#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/www.conf
sed "s#^listen.owner\s*=.*#listen.owner=$USER#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/www.conf
sed "s#^listen.group\s*=.*#listen.group=$USER#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/www.conf
sed "s#^pm.max_children\s*=.*#pm.max_children=64#g" -i $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/www.conf
sed "s#^lc-messages-dir\s*=.*#lc-messages-dir=$SVRT_SOFT/usr/share/mysql#g" -i $SVRT_SOFT/etc/mysql/mysql.conf.d/mysqld.cnf
###ln -s $SVRT_SOFT/usr/share/php7.2-mysql/mysql/mysqli.ini $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/
###cat >> $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf <<LLL
###
###extension_dir=$SVRT_SOFT/usr/lib/php/20170718/
###LLL
#cat >> $SVRT_SOFT/usr/lib/php/7.2/php.ini-development <<LLL
#
#extension_dir=$SVRT_SOFT/usr/lib/php/20170718/
#LLL
#grep -Evn "^$|;" $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf
grep -Ev "^$|;" $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/pool.d/*
grep -Ev "^$|;" $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf
grep -Ev "^$|;" $SVRT_SOFT/usr/lib/php/7.2/php.ini-production
## nginx
source env.sh $SVRT_PORT
cat > $SVRT_SOFT/etc/nginx.conf <<TTT
daemon off;
#user $USER $USER;
pid $SVRT_RUN/nginx.pid;
worker_processes 5; ## Default: 1
error_log $SVRT_RUN/error.log error;
worker_rlimit_nofile 8192;
#include /etc/nginx/modules-enabled/*.conf;
events {
# worker_connections 4096; ## Default: 1024
}
http {
access_log $SVRT_RUN/access.log;
error_log $SVRT_RUN/error.log;
client_body_temp_path $SVRT_RUN/client_body;
fastcgi_temp_path $SVRT_RUN/fastcgi_temp;
proxy_temp_path $SVRT_RUN/proxy_temp;
scgi_temp_path $SVRT_RUN/scgi_temp;
uwsgi_temp_path $SVRT_RUN/uwsgi_temp;
server {
listen $SVRT_PORT;
server_name ips.partner.net.au;
location ~ \.php$ {
root $SVRT_WEB;
fastcgi_pass unix:$SVRT_RUN/phpfpm.sock;
#try_files $uri /404.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include $SVRT_SOFT/etc/nginx/fastcgi_params;
}
location / {
root $SVRT_WEB;
}
}
}
TTT
grep -Ev "^$|#" $SVRT_SOFT/etc/nginx.conf
$SVRT_SOFT/usr/sbin/nginx -q -T -p $SVRT_RUN -c $SVRT_SOFT/etc/nginx.conf
# fpm
#source env.sh $SVRT_PORT && $SVRT_SOFT/usr/sbin/php-fpm$VER_PHPFPM -F --fpm-config $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf
#source env.sh $SVRT_PORT && $SVRT_SOFT/usr/sbin/php-fpm$VER_PHPFPM -F --fpm-config $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf -d extension_dir="$SVRT_SOFT/usr/lib/php/20170718/" -c $SVRT_SOFT/usr/lib/php/7.2/php.ini-production
cp $SVRT_SOFT/usr/lib/php/7.2/php.ini-development $SVRT_RUN/php.ini
cat >> $SVRT_RUN/php.ini <<LLL
extension=mysqlnd.so
extension=mysqli.so
session.save_path="$SVRT_RUN"
LLL
source env.sh $SVRT_PORT && $SVRT_SOFT/usr/sbin/php-fpm$VER_PHPFPM -F --fpm-config $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf -d extension_dir="$SVRT_SOFT/usr/lib/php/20170718/" -c $SVRT_RUN/php.ini
##source env.sh $SVRT_PORT && $SVRT_SOFT/usr/sbin/php-fpm$VER_PHPFPM --fpm-config $SVRT_SOFT/etc/php/$VER_PHPFPM/fpm/php-fpm.conf -i
# nginx
source env.sh $SVRT_PORT && $SVRT_SOFT/usr/sbin/nginx -p $SVRT_RUN -c $SVRT_SOFT/etc/nginx.conf
$SVRT_SOFT/usr/bin/mysqld_safe --help
$SVRT_SOFT/usr/sbin/mysqld --no-defaults \
--lc-messages-dir=$SVRT_SOFT/usr/share/mysql \
--socket=$SVRT_RUN/mysql$SVRT_PORT.sock \
--datadir=/data/data$SVRT_PORT/datadir/ \
--secure-file-priv=$SVRT_RUN \
--user=$USER --explicit_defaults_for_timestamp \
--verbose --help
# TODO and default files
--basedir=$SVRT_SOFT \
#rm -Rf /data/data$SVRT_PORT/datadir/
#$SVRT_SOFT/usr/sbin/mysqld --no-defaults \
#--lc-messages-dir=$SVRT_SOFT/usr/share/mysql \
#--socket=$SVRT_RUN/mysql$SVRT_PORT.sock \
#--datadir=/data/data$SVRT_PORT/datadir/ \
#--initialize-insecure --user=$USER --explicit_defaults_for_timestamp
#ls -al /data/data$SVRT_PORT/datadir/
mkdir -p /data/data$SVRT_PORT/datadir/
$SVRT_SOFT/usr/sbin/mysqld --no-defaults \
--lc-messages-dir=$SVRT_SOFT/usr/share/mysql \
--socket=$SVRT_RUN/mysql$SVRT_PORT.sock \
--datadir=/data/data$SVRT_PORT/datadir/ \
--initialize-insecure --user=$USER --explicit_defaults_for_timestamp
# start
$SVRT_SOFT/usr/bin/mysqld_safe --no-defaults \
--socket=$SVRT_RUN/mysql$SVRT_PORT.sock \
--datadir=/data/data$SVRT_PORT/datadir/ \
--secure-file-priv=$SVRT_RUN \
-P $((SVRT_PORT+1)) \
--user=$USER --explicit_defaults_for_timestamp
# shutdown - ip
$SVRT_SOFT/usr/bin/mysqladmin \
--host=127.0.0.1 \
--port=$((SVRT_PORT+1)) \
--user=root -p \
shutdown
# shutdown - sock
$SVRT_SOFT/usr/bin/mysqladmin \
--socket=$SVRT_RUN/mysql$SVRT_PORT.sock \
--user=root -p \
shutdown
# variables
$SVRT_SOFT/usr/bin/mysqladmin \
--host=127.0.0.1 \
--port=$((SVRT_PORT+1)) \
--user=root -p \
variables
##########
#
SVRT_DATA=/data/$USER/data$SVRT_PORT/datadir/
mkdir -p $SVRT_DATA
$SVRT_SOFT/usr/sbin/mysqld --no-defaults \
--lc-messages-dir=$SVRT_SOFT/usr/share/mysql \
--socket=$SVRT_RUN/mysql$SVRT_PORT.sock \
--datadir=$SVRT_DATA \
--initialize-insecure --user=$USER --explicit_defaults_for_timestamp
# start
$SVRT_SOFT/usr/bin/mysqld_safe --no-defaults \
--socket=$SVRT_RUN/mysql$SVRT_PORT.sock \
--datadir=$SVRT_DATA \
--secure-file-priv=$SVRT_RUN \
-P $((SVRT_PORT+1)) \
--user=$USER --explicit_defaults_for_timestamp
# shutdown - ip
$SVRT_SOFT/usr/bin/mysqladmin \
--host=127.0.0.1 \
--port=$((SVRT_PORT+1)) \
--user=root -p \
shutdown