Cài đặt apache, git, composer, php cho laravel trên EC2

Cài đặt server

Tài liệu tham khảo http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html

  1. Cài đặt httpd $ sudo yum install -y httpd24

  2. Install php + mysql $ sudo yum install php70 php70-cli php70-common php70-json php70-mbstring php70-mysqlnd php70-pdo php70-process php70-xml php70-zip

  3. Install git $ sudo yum install git

  4. Tạo ssh-key $ ssh-keygen Tham khảo tài liệu sau https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

  5. Thay đổi own thư mục html $ sudo chown -R framgia:framgia html

  6. Clone source code từ github $ cd /var/www $ git clone [email protected]:ngodinhngoc/fg_api.git html

  7. Checkout to branch cần deploy $ git checkout develop

  8. Install composer Tham khảo https://getcomposer.org/download/

    $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    $ php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; 
    $ unlink('composer-setup.php'); } echo PHP_EOL;"
    $ php composer-setup.php
    $ php -r "unlink('composer-setup.php');"
    

    Thiết lập command composer to global $ mv composer.phar /usr/local/bin/composer

  9. Install nodejs Tham khảo https://nodejs.org/en/download/package-manager/ $ curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash - sudo yum install nodejs

  10. Dump db Thực hiện dump db vào trong Amazon RDS

  11. Config host $ cd /etc/httpd/conf.d $ sudo nano test.conf

    Ghi nội dung sau vào file

      <VirtualHost *:80>
      # Domain của bạn ở đây
       ServerName example.com

       DocumentRoot /var/www/html/public

       <Directory "/var/www/html/public">
         AllowOverride all
         DirectoryIndex index.php
       </Directory>
       ErrorLog /var/log/error.log
     </VirtualHost>

Thực hiện deploy laravel

  1. Thực hiện cài đặt vendor $ cd /var/www/html $ composer install

  2. Build asset

    $ npm install $ npm run prod

  3. Tạo file .env $ cp -rf .env.example .env $ nano .env Ghi nội dung sau vào file DB_CONNECTION=mysql

    DB_HOST=xxxxxxxx
    DB_PORT=3306
    DB_DATABASE=
    DB_USERNAME=
    DB_PASSWORD=
    
  4. Thay đổi permission các folder cần thiết $ sudo chmod -R 777 storage public bootstrap

  5. Thực hiện tạo key $ php artisan key:generate

Trỏ domain về EC2

Vào tài khoản domain tạo 1 A record trỏ về ip của server thoai 😄

Vào browser và xem thành quả thoai 😄