Otu esi etinye Laravel PHP Framework na Ubuntu


Laravel bụ ihe n'efu, ebe mepere emepe, na-agbanwe agbanwe na nke dị fechaa nke nwere usoro nhazi Model-View Controller (MVC). Ọ nwere syntax a nụchara anụcha, dị mfe na nke enwere ike ịgụ maka ịmepụta ngwa ọgbara ọhụrụ, siri ike ma dị ike site na ọkọ. Na mgbakwunye, Laravel na-abịa na ọtụtụ ngwaọrụ, nke ị nwere ike iji dee koodu PHP dị ọcha, nke ọgbara ọhụrụ na nke a na-echekwa.

N'isiokwu a, m ga-akọwa otu esi etinye ma na-agba ọsọ ụdị Laravel 5.6 PHP Framework na Ubuntu 18.04, 16.04 na 14.04 LTS (Nkwado Ogologo Ogologo) na nkwado Apache2 na PHP 7.2.

Sistemu gị ga-emezurịrị ihe ndị a chọrọ ka ị nwee ike ịme ụdị Laravel kachasị ọhụrụ:

  • PHP>= 7.1.3 nwere OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype na JSON PHP Extensions.
  • Onye na-ede ihe – onye njikwa ngwugwu ọkwa ngwa maka PHP.

Ịwụnye ihe mbụ achọrọ

Mbụ, hụ na imelite isi mmalite sistemụ gị yana ngwungwu ngwanrọ dị ugbu a site na iji iwu ndị a.

$ sudo apt-get update 
$ sudo apt-get upgrade

Ịwụnye LAMP Stack na Ubuntu

Na-esote, dozie gburugburu LAMP na-agba ọsọ (Linux, Apache, MySQL na PHP), ọ bụrụ na ịnweelarị, ị nwere ike ịgafe nzọụkwụ a, ma ọ bụ wụnye nchịkọta oriọna site na iji iwu na-esonụ na usoro Ubuntu.

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install apache2 libapache2-mod-php7.2 mysql-server php7.2 php7.2-xml php7.2-gd php7.2-opcache php7.2-mbstring php7.2-mysql

Ọ bụ ezie na ebe nchekwa Ubuntu ndabara nwere PHP, mana ọ bụ ezigbo echiche ịnwe ebe nchekwa ndị ọzọ maka mmelite ugboro ugboro. Ọ bụrụ n’ịchọrọ, ị nwere ike ịgafe nzọụkwụ a wee rapara na ụdị PHP ndabara site na ebe nchekwa Ubuntu.

Wụnye Composer na Ubuntu

Ugbu a, anyị kwesịrị ịwụnye onye na-ede egwú (onye njikwa ndabere maka PHP) maka ịwụnye ihe ndabere Laravel chọrọ site na iji iwu ndị a.

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

Wụnye Laravel na Ubuntu

Ozugbo arụnyere onye na-ede ihe, ugbu a ị nwere ike ibudata na wụnye ụdị Laravel kachasị ọhụrụ site na ebe nchekwa git gọọmentị n'okpuru Apache/var/www directory.

$ cd /var/www
$ git clone https://github.com/laravel/laravel.git
$ cd /var/www/laravel
$ sudo composer install

Ozugbo nrụnye Laravel mechara, tọọ ikike kwesịrị ekwesị na faịlụ niile site na iji iwu ndị a.

$ chown -R www-data.www-data /var/www/laravel
$ chmod -R 755 /var/www/laravel
$ chmod -R 777 /var/www/laravel/storage

Ịtọlite igodo nzuzo

Ugbu a mepụta faịlụ gburugburu maka ngwa gị, jiri faịlụ nlele enyere.

$ cp .env.example .env

Laravel na-eji igodo ngwa iji chekwaa oge onye ọrụ yana data ndị ọzọ ezoro ezo. Yabụ ị ga-ewepụta ma tọọ igodo ngwa gị ka ọ bụrụ eriri enweghị usoro site na iji iwu na-eso.

$ php artisan key:generate

Ozugbo emepụtara igodo ahụ, mepee faịlụ nhazi .env wee melite ụkpụrụ achọrọ. Ọzọkwa, hụ na edobere APP_KEY nke ọma na faịlụ nhazi dị ka ewepụtara n'iwu dị n'elu.

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:AFcS6c5rhDl+FeLu5kf2LJKuxGbb6RQ/5gfGTYpoAk=
APP_DEBUG=true
APP_URL=http://localhost

Mepụta ọdụ data maka Laravel

Ị nwekwara ike ịmepụta MySQL nchekwa data maka ngwa Laravel gị site na iji iwu ndị a.

$ mysql -u root -p
mysql> CREATE DATABASE laravel;
mysql> GRANT ALL ON laravel.* to 'laravel'@'localhost' IDENTIFIED BY 'secret_password';
mysql> FLUSH PRIVILEGES;
mysql> quit

Ugbu a mepee faịlụ nhazi .env wee melite ntọala nchekwa data dị ka egosiri.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=secret_password

Na-ahazi Apache maka Laravel

Ugbu a gaa na faịlụ nhazi nhazi nnabata nke Apache /etc/apache2/sites-enabled/000-default.conf wee melite akwụkwọ ndekọ ọha DocumentRoot na Laravel dị ka egosiri.

$ nano /etc/apache2/sites-enabled/000-default.conf

Ugbu a gbanwee nhazi nhazi nnabata ndabara na ọdịnaya ndị a ma hụ na ị ga-eji aha ngalaba nke weebụsaịtị gị dochie domain.tld.

<VirtualHost *:80>
        ServerName yourdomain.tld

        ServerAdmin [email 
        DocumentRoot /var/www/laravel/public

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/laravel>
                AllowOverride All
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Mgbe ịmechara mgbanwe dị n'elu, jide n'aka na ị bugharịa mgbanwe nhazi Apache site na ịmalitegharị ọrụ site na iji iwu na-esonụ.

$ sudo service apache2 restart

Ịnweta ngwa Laravel

N'ikpeazụ nweta ngwa Laravel gị site na ihe nchọgharị, na-eji URL ndị a.

http://yourdomain.tld
OR
http://your-ip-address

Site n'oge a, ị dịla njikere ịga wee malite ịmepụta ngwa dị ike site na iji Laravel PHP Framework. Maka nhazi ndị ọzọ dị ka cache, nchekwa data na nnọkọ, ị nwere ike ịga na ibe ụlọ Laravel.