لاراول چیست؟
لاراول یک فریم ورک اپن سورس پی اچ پی می باشد که دارای نحو (Syntax) ساده و قابل خواندن به منظور توسعه از 0 تا 100 نرم افزار های تحت وب قدرتمند به زبان پی اچ پی می باشد.همچنین لاراول دارای چندین ابزار به منظور نوشتن کد های پی اچ پی Fresh، مدرن و قابل توسعه نیز می باشد.
قابلیت های کلیدی فریم ورک لاراول
- ORM (Object-Relational Mapping) قدرتمند به منظور کار با دیتابیس
- مکانیزم مسیریابی سریع
- قابلیت ارائه ی API قدرتمند
- پشتیبانی از یک مکانیزم احراز هویت ساده
- پشتیبانی از پردازش های پس زمینه (background job processing)
سیستم مورد نیاز
برای اجرای آخرین نسخه ی فریم ورک لاراول باید موارد زیر روی سیستم نصب باشد :
- پی اچ پی نسخه ی 7.1.3 به بعد با ماژول های OpenSSL، PDO، Mbstring، Tokenizer، XML، Ctype و JSON
- Composer
نصب لاراول بر روی CentOS
در این قسمت به نصب آخرین نسخه ی فریم ورک لاراول بر روی CentOS همراه با Nginx، MySQL و PHP می پردازیم.
نصب مخزن REMI و EPEL
در ابتدا برای نصب نسخه های بروز پکیج ها دو مخزن REMI و EPEL را اضافه و فعال می کنیم :
1 2 3 4 5 6 7 | ------------- On CentOS/RHEL 7.x ------------- rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------------- On CentOS/RHEL 6.x ------------- rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm |
نصب Nginx، MySQL و PHP
نصب Nginx
از دستور زیر برای نصب Nginx استفاده می کنیم :
1 | yum install nginx [On CentOS/RHEL] |
از دستورات زیر انجین ایکس را برای استارت شدن خودکار در هنگام بوت سیستم عامل و همچنین استارت شدن آن در این لحظه استفاده می کنیم :
1 2 3 4 5 6 7 8 9 | ------------- On CentOS/RHEL 7.x ------------- # systemctl start nginx # systemctl enable nginx # systemctl status nginx ------------- On CentOS/RHEL 6.x ------------- # service nginx start # chkconfig nginx on # service nginx status |
سپس پورت 80 را برای فعالیت انجین ایکس بر روی فایروال باز می کنیم :
1 2 3 4 5 6 7 | ------------- On CentOS/RHEL 7.x ------------- # firewall-cmd --permanent --add-port=80/tcp # firewall-cmd --reload ------------- On CentOS/RHEL 6.x ------------- # iptables -A INPUT -p tcp --dport 80 -j ACCEPT # service iptables restart |
نصب MySQL
از دستور زیر برای نصب MySQL استفاده می کنیم :
1 | # yum install mariadb-server php-mysql |
از دستورات زیر مای اس کیو ال را برای استارت شدن خودکار در هنگام بوت سیستم عامل و همچنین استارت شدن آن در این لحظه استفاده می کنیم :
1 2 3 4 5 6 7 8 9 | ------------- On CentOS/RHEL 7.x ------------- # systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb ------------- On CentOS/RHEL 6.x ------------- # service mariadb start # chkconfig mariadb on # service mariadb status |
در انتها با اجرای دستور زیر MySQL را پیکربندی اولیه کنید :
1 | # /usr/bin/mysql_secure_installation |
نصب PHP
با دستورات زیر نسخه 7.2 پی اچ پی و برخی ماژول های مورد نیاز آن را نصب می کنیم :
1 2 3 | # yum install yum-utils # yum-config-manager --enable remi-php72 # yum install php php-fpm php-common php-xml php-mbstring php-json php-zip |
همچنین سرویس PHP-FPM را همانند سرویس های انجین ایکس و مای اس کیو ال برای استارت خودکار در هنگام بوت تنظیم می کنیم :
1 2 3 4 5 6 7 8 9 | ------------- On CentOS/RHEL 7.x ------------- # systemctl start php-fpm # systemctl enable php-fpm # systemctl status php-fpm ------------- On CentOS/RHEL 6.x ------------- # service php-fpm start # chkconfig php-fpm on # service php-fpm status |
نصب Composer و Laravel
ابتدا Composer رو نصب کنید :
1 2 3 | # curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer # chmod +x /usr/local/bin/composer |
بعد از نصب Composer می توانید با دستور زیر پروژه ای را ایجاد و در نهایت Laravel نصب کنید :
1 2 | # cd /var/www/html/ # sudo composer create-project --prefer-dist laravel/laravel testsite |
بعد از نصب Laravel و پروژه ای که با دستور بالا ایجاد کردیم باید فولدر testsite در مسیر زیر وجود داشته باشد :
1 | # cd /var/www/html/ |
حال دسترسی مناسب به پوشه ی testsite و فایل های لاراول را می دهیم :
1 2 3 | # chmod -R 775 /var/www/html/testsite # chown -R nginx.nginx /var/www/html/testsite # chmod -R 777 /var/www/html/testsite/storage/ |
در صورتی که SELinux فعال می باشد دستورات زیر را نیز اجرا کنید :
1 2 3 | # semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?' # restorecon -Rv '/usr/share/nginx/html/testapp' |
دستورات زیر را به ترتیب به منظور ایجاد محیط برای اپلیکیشن و همچنین یک key که لاراول برای امنیت session کاربران و encrypt اطلاعات دیگر استفاده می کند اجرا کنید :
1 2 3 | # cd /var/www/html/testsite/ # cp .env.example .env # php artisan key:generate |
ایجاد Server Block در انجین ایکس برای لاراول
در این قسمت به ساخت Server Block برای پروژه testsite که در بالا ایجاد کردیم می پردازیم.
ابتدا یک فایل در مسیر زیر و نام testsite ایجاد کنید :
1 | nano /etc/nginx/conf.d/testsite.conf |
و کانفیگ زیر را در درون آن قرار دهید :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | server { listen 80; server_name testsite.com; root /var/www/html/testsite/public; index index.php; charset utf-8; gzip on; gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php { include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } location ~ /\.ht { deny all; } } |
در نظر داشته باشید که در کانفیگ بالا ما دامنه را testsite.com در نظر گرفتیم که با توجه به دامنه شما و محل نصب لاراول مقادیر مربوط را عوض کنید.
در نهایت انجین ایکس را ری استارت کنید :
1 | # systemctl restart nginx |
حال می توانید با وارد کردن دامنه یا آی پی سرور در مرورگر به وب سایت لاراول ایجاد شده دسترسی پیدا کنید :
1 2 3 | http://your-domain.com OR http://your-ip-address |
[line]
تیم فنی آلما هاست، در تمام ایام سال به صورت 24 ساعته در خدمت شما هستند تا برای خریدهاست ابری لینوکس، هاست پربازدیدشما را یاری کنند و جدیدترین آفر های موجود را برای شما متناسب با نیازتان ارائه کنند. برای دریافت آخرین آفر های ویژه و تخفیف های ما، می توانید از طریق تیکت با ما در ارتباط باشید تا آفر های موجود را بر اساس نیاز شما برایتان ارسال کنیم.
پرتال کاربری آلما هاست ( پاسخگویی 24 ساعته ) : پورتال مشتریان آلما هاست