Establish a Debian LAMP with Ansible











up vote
0
down vote

favorite












I plan to rent a remote machine with Debian and root access to establish a LAMP server environment with some extras basically via Ansible in the following way.



I have yet to test it and can't test it right now (I'm leaving my country and I have no payment option to rent a remote machine) but it basically should work. Please give me an opinion on my entire approach here.



---

- hosts: all
become: yes
become_user: root
tasks:

- name: Update apt package-indexes cache
apt:
update_cache=yes

- name: Install external basics
apt: state=latest
with-items:
- ufw
- sshguard
- unattended-upgrades
- wget
- curl
- git
- zip
- unzip
- tree

- name: Install PHPMyAdmin directly on document root
shell: |
pma="[pP][hH][pP][mM][yY][aA][dD][mM][iI][nN]"
cd /var/www/html/
rm -rf ${pma}*
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
unzip ${pma}*.zip
mv ${pma}*/ phpmyadmin/
rm ${pma}*.zip
unset pma
cd
executable: /bin/bash

- name: Setup firewall with ufw
ufw:
rule: allow
port: 22,25,80,443

- name: Establish a LAPMS (Linux, Apache, PHP, MySQL, SSMTP) server environment
apt: state=latest
with-items:
- apache2 # Web server
- python-certbot-apache
- php
- php-mysql # MySQL server
- php-cli
- php-curl
- php-mbstring
- php-mcrypt
- php-gd
- ssmtp # Email server

- name: Install Composer
command:
args:
argv:
- curl -sS https://getcomposer.org/installer -o composer-setup.php
- php composer-setup.php --install-dir=/usr/local/bin --filename=composer

- name: Configure PHP variables
shell: |
cat <<-EOF >> /etc/php*/conf.d/local.ini
upload_max_filesize = 2000M
post_max_size = 2000M
EOF
executable: /bin/bash

- name: Enable Apache modules
command: a2enmod http2 deflate expires









share|improve this question


























    up vote
    0
    down vote

    favorite












    I plan to rent a remote machine with Debian and root access to establish a LAMP server environment with some extras basically via Ansible in the following way.



    I have yet to test it and can't test it right now (I'm leaving my country and I have no payment option to rent a remote machine) but it basically should work. Please give me an opinion on my entire approach here.



    ---

    - hosts: all
    become: yes
    become_user: root
    tasks:

    - name: Update apt package-indexes cache
    apt:
    update_cache=yes

    - name: Install external basics
    apt: state=latest
    with-items:
    - ufw
    - sshguard
    - unattended-upgrades
    - wget
    - curl
    - git
    - zip
    - unzip
    - tree

    - name: Install PHPMyAdmin directly on document root
    shell: |
    pma="[pP][hH][pP][mM][yY][aA][dD][mM][iI][nN]"
    cd /var/www/html/
    rm -rf ${pma}*
    wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
    unzip ${pma}*.zip
    mv ${pma}*/ phpmyadmin/
    rm ${pma}*.zip
    unset pma
    cd
    executable: /bin/bash

    - name: Setup firewall with ufw
    ufw:
    rule: allow
    port: 22,25,80,443

    - name: Establish a LAPMS (Linux, Apache, PHP, MySQL, SSMTP) server environment
    apt: state=latest
    with-items:
    - apache2 # Web server
    - python-certbot-apache
    - php
    - php-mysql # MySQL server
    - php-cli
    - php-curl
    - php-mbstring
    - php-mcrypt
    - php-gd
    - ssmtp # Email server

    - name: Install Composer
    command:
    args:
    argv:
    - curl -sS https://getcomposer.org/installer -o composer-setup.php
    - php composer-setup.php --install-dir=/usr/local/bin --filename=composer

    - name: Configure PHP variables
    shell: |
    cat <<-EOF >> /etc/php*/conf.d/local.ini
    upload_max_filesize = 2000M
    post_max_size = 2000M
    EOF
    executable: /bin/bash

    - name: Enable Apache modules
    command: a2enmod http2 deflate expires









    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I plan to rent a remote machine with Debian and root access to establish a LAMP server environment with some extras basically via Ansible in the following way.



      I have yet to test it and can't test it right now (I'm leaving my country and I have no payment option to rent a remote machine) but it basically should work. Please give me an opinion on my entire approach here.



      ---

      - hosts: all
      become: yes
      become_user: root
      tasks:

      - name: Update apt package-indexes cache
      apt:
      update_cache=yes

      - name: Install external basics
      apt: state=latest
      with-items:
      - ufw
      - sshguard
      - unattended-upgrades
      - wget
      - curl
      - git
      - zip
      - unzip
      - tree

      - name: Install PHPMyAdmin directly on document root
      shell: |
      pma="[pP][hH][pP][mM][yY][aA][dD][mM][iI][nN]"
      cd /var/www/html/
      rm -rf ${pma}*
      wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
      unzip ${pma}*.zip
      mv ${pma}*/ phpmyadmin/
      rm ${pma}*.zip
      unset pma
      cd
      executable: /bin/bash

      - name: Setup firewall with ufw
      ufw:
      rule: allow
      port: 22,25,80,443

      - name: Establish a LAPMS (Linux, Apache, PHP, MySQL, SSMTP) server environment
      apt: state=latest
      with-items:
      - apache2 # Web server
      - python-certbot-apache
      - php
      - php-mysql # MySQL server
      - php-cli
      - php-curl
      - php-mbstring
      - php-mcrypt
      - php-gd
      - ssmtp # Email server

      - name: Install Composer
      command:
      args:
      argv:
      - curl -sS https://getcomposer.org/installer -o composer-setup.php
      - php composer-setup.php --install-dir=/usr/local/bin --filename=composer

      - name: Configure PHP variables
      shell: |
      cat <<-EOF >> /etc/php*/conf.d/local.ini
      upload_max_filesize = 2000M
      post_max_size = 2000M
      EOF
      executable: /bin/bash

      - name: Enable Apache modules
      command: a2enmod http2 deflate expires









      share|improve this question













      I plan to rent a remote machine with Debian and root access to establish a LAMP server environment with some extras basically via Ansible in the following way.



      I have yet to test it and can't test it right now (I'm leaving my country and I have no payment option to rent a remote machine) but it basically should work. Please give me an opinion on my entire approach here.



      ---

      - hosts: all
      become: yes
      become_user: root
      tasks:

      - name: Update apt package-indexes cache
      apt:
      update_cache=yes

      - name: Install external basics
      apt: state=latest
      with-items:
      - ufw
      - sshguard
      - unattended-upgrades
      - wget
      - curl
      - git
      - zip
      - unzip
      - tree

      - name: Install PHPMyAdmin directly on document root
      shell: |
      pma="[pP][hH][pP][mM][yY][aA][dD][mM][iI][nN]"
      cd /var/www/html/
      rm -rf ${pma}*
      wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
      unzip ${pma}*.zip
      mv ${pma}*/ phpmyadmin/
      rm ${pma}*.zip
      unset pma
      cd
      executable: /bin/bash

      - name: Setup firewall with ufw
      ufw:
      rule: allow
      port: 22,25,80,443

      - name: Establish a LAPMS (Linux, Apache, PHP, MySQL, SSMTP) server environment
      apt: state=latest
      with-items:
      - apache2 # Web server
      - python-certbot-apache
      - php
      - php-mysql # MySQL server
      - php-cli
      - php-curl
      - php-mbstring
      - php-mcrypt
      - php-gd
      - ssmtp # Email server

      - name: Install Composer
      command:
      args:
      argv:
      - curl -sS https://getcomposer.org/installer -o composer-setup.php
      - php composer-setup.php --install-dir=/usr/local/bin --filename=composer

      - name: Configure PHP variables
      shell: |
      cat <<-EOF >> /etc/php*/conf.d/local.ini
      upload_max_filesize = 2000M
      post_max_size = 2000M
      EOF
      executable: /bin/bash

      - name: Enable Apache modules
      command: a2enmod http2 deflate expires






      php bash server yaml ansible






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 29 mins ago









      JohnDoea

      499




      499



























          active

          oldest

          votes











          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "196"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f209810%2festablish-a-debian-lamp-with-ansible%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f209810%2festablish-a-debian-lamp-with-ansible%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Quarter-circle Tiles

          build a pushdown automaton that recognizes the reverse language of a given pushdown automaton?

          Mont Emei