Cài đặt apache, git, composer, php cho laravel trên EC2
Bài đăng này đã không được cập nhật trong 4 năm
Cài đặt server
Tài liệu tham khảo http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html
-
Cài đặt httpd
$ sudo yum install -y httpd24 -
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 -
Install git
$ sudo yum install git -
Tạo ssh-key
$ ssh-keygenTham khảo tài liệu sau https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ -
Thay đổi own thư mục html
$ sudo chown -R framgia:framgia html -
Clone source code từ github
$ cd /var/www$ git clone git@github.com:ngodinhngoc/fg_api.git html -
Checkout to branch cần deploy
$ git checkout develop -
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 -
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 -
Dump db Thực hiện dump db vào trong Amazon RDS
-
Config host
$ cd /etc/httpd/conf.d$ sudo nano test.confGhi 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
-
Thực hiện cài đặt vendor
$ cd /var/www/html$ composer install -
Build asset
$ npm install$ npm run prod -
Tạo file .env
$ cp -rf .env.example .env$ nano .envGhi nội dung sau vào file DB_CONNECTION=mysqlDB_HOST=xxxxxxxx DB_PORT=3306 DB_DATABASE= DB_USERNAME= DB_PASSWORD= -
Thay đổi permission các folder cần thiết
$ sudo chmod -R 777 storage public bootstrap -
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 
All rights reserved