Дальнейшая автоматизация сценария создания серверной среды Ubuntu-Nginx-WordPress?

С помощью следующего скрипта я создаю среду на основе Ubuntu-Nginx-WordPress. Как я могу в дальнейшем автоматизировать (а значит сократить) количество кода в этом скрипте?

add-apt-repository ppa:certbot/certbot -y && apt-get update -y && apt-get upgrade -y
ufw enable && ufw allow 22/tcp 25/tcp 80/tcp 443/tcp 9000/tcp
apt-get install zip unzip tree unattended-upgrades sshguard postfix nginx python-certbot-nginx mysql-server php-fpm php-mysql php-mbstring php-mcrypt -y
sed -i "s/# gzip_/gzip_/g" /etc/nginx/nginx.conf
sed -i "s/max_size = .M/max_size = 200M/g" /etc/php/*/fpm/php.ini
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" /etc/php/*/fpm/php.ini
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && chmod +x wp-cli.phar && mv wp-cli.phar /usr/local/bin/wp

Заметки

  • Я открыт для использования Tasksel.
  • Я не хочу использовать Ansible или Salt, так как оба они кажутся мне ошеломляющими и сложными для того, чего я пытаюсь достичь.
0
задан 17 January 2018 в 12:46

1 ответ

Вы можете указать curl написать прямо в /usr/local/bin/wp:

curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > /usr/local/bin/wp && chmod +x /usr/local/bin/wp

add-apt-repository в 17.04, а у более новой есть опция -u, позволяющая пропустить явное apt-get update:

-u, --update After adding the repository, update the package cache with
             packages from this repository (avoids need to apt-get update)

Вы также можете объединить шаги apt-get upgrade и install:

apt-get upgrade zip unzip tree unattended-upgrades sshguard postfix nginx python-certbot-nginx mysql-server php-fpm php-mysql php-mbstring php-mcrypt -y

Объединить:

add-apt-repository ppa:certbot/certbot -yu
ufw enable && ufw allow 22/tcp 25/tcp 80/tcp 443/tcp 9000/tcp
apt-get upgrade zip unzip tree unattended-upgrades sshguard postfix nginx python-certbot-nginx mysql-server php-fpm php-mysql php-mbstring php-mcrypt -y
sed -i 's/# gzip_/gzip_/g' /etc/nginx/nginx.conf
sed -i 's/max_size = .M/max_size = 200M/g' /etc/php/*/fpm/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/*/fpm/php.ini
curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > /usr/local/bin/wp && chmod +x /usr/local/bin/wp
0
ответ дан 17 January 2018 в 12:46

Другие вопросы по тегам:

Похожие вопросы: