GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Cara Menyebarkan Aplikasi Laravel Secara Otomatis dengan Deployer di Ubuntu 16.04

Laravel adalah framework aplikasi web PHP open-source yang populer. Ini memiliki sintaks yang ekspresif dan elegan dan menyediakan alat yang dibutuhkan untuk aplikasi besar dan kuat. Deployer adalah alat penyebaran PHP sumber terbuka modular yang dikemas dengan fitur dan pengoptimalan hemat waktu. Ini mendukung penyebaran banyak kerangka kerja populer, termasuk Laravel, Symfony, Zend Framework dan CodeIgniter. Dalam tutorial ini, kami akan menunjukkan cara men-deploy aplikasi Laravel dengan Deployer di Ubuntu 16.04.

Persyaratan

  • Server Ubuntu 16.04 dengan akses root atau sudo.
  • Server Git. Anda dapat menggunakan server git yang dihosting sendiri atau layanan Git populer seperti Gitlab, Github, atau Bitbucket.

Menyiapkan Lingkungan Pengembangan Lokal

Anda akan menerapkan aplikasi Laravel dari komputer lokal Anda, jadi pertama-tama Anda perlu menyiapkan lingkungan pengembangan lokal dan menginstal Deployer.

Pertama jika Anda belum menginstal composer di komputer lokal Anda, instal dengan:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

Selanjutnya, buat proyek Laravel baru di komputer lokal Anda:

composer create-project --prefer-dist laravel/laravel my-laravel-app

Untuk menginstal Deployer di komputer lokal Anda, jalankan perintah berikut di konsol:

curl -LO https://deployer.org/deployer.phar
mv deployer.phar /usr/local/bin/dep
chmod +x /usr/local/bin/dep  

Terakhir, sambungkan ke server git dengan menambahkan kunci ssh PC lokal Anda ke server git.

Jika Anda tidak memiliki kunci SSH, Anda dapat memeriksa kunjungi artikel kami tentang Cara Mengatur Kunci SSH di Ubuntu 16.04

Jika Anda menggunakan layanan yang dihosting Git, Anda dapat memeriksa dokumentasi mereka tentang cara menambahkan kunci SSH ke akun Anda.

  • Tambahkan kunci SSH ke akun GitHub
  • Tambahkan kunci SSH ke akun GitLab
  • Tambahkan kunci SSH ke akun Bitbucket

Instal dan konfigurasikan PHP

Sekarang setelah mesin pengembangan lokal Anda siap sebelum kami dapat mulai menerapkan, kami perlu mengonfigurasi server dengan menginstal semua layanan yang diperlukan.

Untuk menginstal versi stabil terbaru dari PHP versi 7 dan semua modul yang diperlukan, jalankan:

sudo apt update
sudo apt install php7.0-fpm php7.0-cli php7.0-gd php7.0-mysql php7.0-mcrypt php-pear php7.0-curl

Kita juga perlu menginstal composer:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

Instal dan konfigurasikan Nginx

Instal versi Nginx stabil terbaru dari repositori resmi Ubuntu:

sudo apt install nginx

Selanjutnya, buat blok server Nginx baru:

sudo nano /etc/nginx/sites-available/my-laravel-app.com
server {  
    listen 80;
    server_name my-laravel-app.com;
    root /var/www/html/my-laravel-app.com/current/public;

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

}

Aktifkan blok server dengan membuat tautan simbolis:

sudo ln -s /etc/nginx/sites-available/my-laravel-app.com /etc/nginx/sites-enabled/my-laravel-app.com

Uji konfigurasi Nginx dan mulai ulang nginx:

sudo nginx -t
sudo service nginx restart

Buat database MySQL

Jika Anda belum menginstal MySQL, Anda dapat mengunjungi tutorial kami tentang Cara Menginstal MySQL di Ubuntu 16.04

Untuk membuat database untuk aplikasi laravel, jalankan perintah berikut:

mysql -u root -p
CREATE DATABASE laravel;
GRANT ALL PRIVILEGES ON laravel.* TO 'laraveluser'@'localhost' IDENTIFIED BY 'your-password';
FLUSH PRIVILEGES;
\q

Buat Pengguna Penyebar

Tujuan utama dari pengguna ini adalah untuk menyebarkan aplikasi Laravel kami dengan menjalankan perintah di server kami.

Untuk membuat pengguna jalankan perintah berikut:

sudo adduser deployer

Baik Nginx dan PHP FPM berjalan sebagai pengguna www-data. File dan direktori yang dibuat oleh pengguna deployer harus dapat ditulis oleh www-user.

Jalankan perintah berikut untuk menambahkan pengguna deployer ke grup www-data:

sudo usermod -aG www-data deployer

Ubah kepemilikan root dokumen dengan menjalankan:

sudo chown deployer:www-data /var/www/html/my-laravel-app.com

dan atur ID grup pengguna

sudo chmod g+s /var/www/html/my-laravel-app.com

Dengan perintah di atas, semua file dan subdirektori baru yang dibuat dalam `/var/www/html/my-laravel-app.com` akan mewarisi ID grup direktori.

Tambahkan kunci SSH publik pengguna lokal Anda ke file /home/deployer/.ssh/authorized_keys sehingga Anda dapat masuk ke server jarak jauh dari komputer lokal Anda tanpa kata sandi sebagai penyebar pengguna dan menjalankan perintah penerapan.

Terakhir, Anda perlu menambahkan kunci SSH pengguna deployer ke server git Anda, sama seperti yang Anda lakukan dengan pengguna komputer lokal Anda.

Menggunakan Penyebar

Buka terminal komputer lokal Anda dan alihkan ke direktori proyek laravel.

cd ~/my-laravel-app

Jalankan perintah berikut untuk membuat file resep bernama deploy.php .

dep init -t Laravel

Buka file dan konfigurasikan dan atur kredensial repositori yang benar dan konfigurasikan parameter host sebagai berikut:

host('your_remove_server_ip')
    ->user('deployer')
    ->set('deploy_path', '/var/www/html/my-laravel-app.com');

Dari direktori proyek di dalam, Anda sekarang dapat menjalankan perintah `dep` untuk menerapkan aplikasi Anda.

Untuk informasi lebih lanjut tentang cara mengonfigurasi dan menggunakan Deployer, silakan kunjungi halaman dokumentasi mereka.

Tentu saja, Anda tidak perlu mengonfigurasi server jarak jauh Anda jika Anda menggunakan salah satu dari Server Ubuntu Tercepat kami, dalam hal ini Anda dapat meminta admin Linux ahli kami untuk membuat pengguna deployer dan menginstal serta mengonfigurasi semua layanan yang diperlukan untuk Anda. . Mereka tersedia 24×7 dan akan segera memenuhi permintaan Anda.

PS. Jika Anda menyukai posting ini, tentang cara Menyebarkan Aplikasi Laravel Secara Otomatis dengan Deployer di Ubuntu 16.04, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol di sebelah kiri atau cukup tinggalkan balasan di bawah. Terima kasih.


Panels
  1. Cara Menyebarkan Aplikasi Laravel Secara Otomatis dengan Deployer di Ubuntu 16.04

  2. Cara Menginstal Joomla dengan Nginx di Ubuntu 18.04

  3. Cara Menginstal Let's Encrypt di Ubuntu 20.04 dengan Apache

  1. Cara Mengintegrasikan Collabora Online dengan Nextcloud di Ubuntu 20.04

  2. Cara Mengamankan Nginx dengan Let's Encrypt di Ubuntu 20.04

  3. Cara Menginstal Elasticsearch di Ubuntu 22.04 dengan SSL

  1. Bagaimana Kami Mengganti Iptables Dengan Firewalld Di Ubuntu 16.04?

  2. Cara menginstal Elgg dengan Nginx di Ubuntu 14.04

  3. Cara Menginstal Elgg dengan Nginx di Ubuntu 18.04