یک آموزگار...
نصب لاراول روی لوکال هاست لینوکسی
قبل از هر کار به روز کردن مخازن:
sudo apt updateنصب Apache
sudo apt install apache2نصب Database
sudo apt install mysql-serverمرحله اختیاری (تنظیمات امنیتی روی دیتابیس برای تغییر کاربر و رمز پیشفرض)
sudo mysql_secure_installationاگر مثل من با این مرحله از تنظیمات دیتابیس مشکل دارید یک راه راحتتر هم وجود دارد. راه راحتتر این است که یک کاربر جدید برای دیتابیس خودمان بسازیم و از آن استفاده کنیم. بنابراین با دستور زیر وارد mysql میشویم:
sudo mysql -u root -pسپس کاربر جدید خود را میسازیم و دسترسیهای لازم را به او میدهیم و یک بازنشانی از دسترسیها انجام میدهیم و تمام..
CREATE USER 'yourname'@'loclhost' IDENTIFIED BY 'yourpassword';GRANT ALL PRIVILEGES ON *.* TO 'yourname'@'localhost' WITH GRANT OPTION;FLUSH PRIVILEGES;نصب PHP
sudo apt install php php-dev php-zip php-xml php-mbstring php-mysqlهمین الان تا یادمان نرفته rewrite mod را هم فعال کنیم بهتر است:
sudo a2enmod rewriteو ریستارت کردن آپاچی و تمام:
systemctl restart apache2الان شما سرور لوکال خود را روی لینوکس نصب کردهاید.
فقط میماند دو کار دیگر. نصب phpMyAdmin و نصب لاراول
نصب phpMyAdmin
برای نصب phpMyAdmin راحتترین کار دانلود فایل آن از سایت خودش و کپی کردن در فولدر زیر است:
/var/www/html/و با آدرس زیر در مرورگر باز میشود:
http://localhost/phpMyAdmin/اگر در باز کردن phpmyadmin خطا گرفتید با دستور زیر php-mysql را نصب کنید:
php-mysqlو یک بار دیگر apache را ریستارت کنید.
نصب Laravel
برای نصب لاراول راحتترین کار نصب کامپوزر:
sudo apt install composerو نصب نصاب لاراول:
composer global require "laravel/installer"* بعد از نصب نصاب لاراول در ترمینال دستور subl .bashrc را وارد کنید و در فایلی که باز میشود در خط آخر یکی از سه خط زیر(هر سه یکی هستند) را وارد کنید و ذخیره کنید و فایل را ببندید و ترمینال را ببندید و مجدد باز کنید.
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
# or
export PATH="~/.config/composer/vendor/bin:$PATH"
# or
export PATH="~/.config/composer/vendor/bin:${PATH}"و بعد ساخت پروژه است:
laravel new yourProjectName* البته دستور خط سوم را باید درون فولدری که میخواهید پروژه آنجا ساخته شود (فولدر html در مسیر /var/www/ ) اجرا کنید.
چند نکته و ترفند:
تنظیمات hosts
اگر لوکال هاست شما روی آی پی دیفالت تنظیم نیست باید تنظیمات فایل hosts را اصلاح کنید.
برای تنظیمات فایل hosts با دستور زیر آن را در ادیتور مورد علاقه خود باز کنید:
sudo editorName /etc/hostsو خط زیر را اضافه کنید یا اگر هست از کامنت خارج کنید. بقیه چیزها را دست نزنید و ذخیره کنید.
127.0.0.1 localhostیک نکته: اگر میخواهید آدرس دلخواه خود را به دستور php artisan serve اعمال کنید همین جا در فایل hosts این خط را هم اضافه کنید:
127.0.0.1 yourSite.testالان علاوه بر این که با تایپ localhost مشکلی نخواهید داشت میتوانید در کامند لاین فولدر لاراول خود به این روش serve را انجام دهید:
php artisan serve --host=yourSite.test --port=8000و به جای
http://127.0.0.1:8000/با آدرس
http://yourSite.test:8000/به سایت خود در لوکال دسترسی پیدا کنید.
اگر به آخر serve در این دستور & اضافه کنید این دستور در بکگراند اجرا میشود و مزاحم بقیه کارهای شما نخواهد بود.
php artisan serve&اگر همه چیز قاتی شد و خواستید دستور serve را بیاثر کنید از این دستور استفاده کنید:
sudo kill $(sudo lsof -t -i:8000)خطای دسترسی به storage
ممکن است در اولین دیدار از پروژهی خود در مرورگر خطای دسترسی به storage را ببینید. برای رفع خطای دسترسی لاراول به فولدر storage با این کد دسترسی این پوشه را اصلاح کنید: (این کد را باید درون فولدر پروژهی لاراول خود اجرا کنید.)
chmod -R 777 storageآپلود دیتابیس حجیم در mysql
اگر از قبل مثل من روی پروژهی خود کار کردهاید و الان با یک دیتابیس حجیم روبرو هستید باید آن را با phpMyAdmin درون دیتابیس جدید ایمپورت کنید و اگر حجم فایل دیتابیس زیاد باشد خطا میگیرید.
اولین خطا مربوط به حجم آپلود است که با این روش برطرف میشود. این سه خط را باید درون php.ini اصلاح کنید و مقادیر دلخواه و بزرگ به آن بدهید. فایل php.iniهای زیادی روی کامپیتور خود خواهید یافت. من همیشه تغییرات را روی آخرین نسخه php موجود و درون فولدر apache2 اعمال میکنم. در این آدرس:
/etc/php/7.2/apache2/php.inimemory_limit = 100M
upload_max_filesize = 100M
post_max_size = 100Mو با دیتابیسهای بزرگ که رکوردهای زیادی دارند خطای دیگری هم در انتظار شماست که مربوط به مدت زمان اجرای اسکریپت است و با روش بالا جواب نمیدهد. من با روش زیر این مشکل را حل میکنم:
اول از خط فرمان وارد mysql میشوم:
mysql -u root -pپس از تایپ رمز دستور زیر را میدهم و دیتابیس خود را انتخاب میکنم:
use databaseNameسپس با دستور زیر
SET autocommit=0; source yourBackupFile.sql; COMMIT;دیتابیس خودم را در کمترین زمان و بدون کمترین خطا به دیتابیس مقصد ایمپورت میکنم.
این آموزش را بیشتر برای خودم نوشتم. به قول صادق هدایت، برای سایهام، تا دفعه بعد که خواستم این کارها را انجام دهم یادم باشد چکار کردهام.
مطلبی دیگر از این انتشارات
سومین دورهمی بزرگ لاراول (مجازی)
مطلبی دیگر از این انتشارات
داکر - لاراول
مطلبی دیگر از این انتشارات
آموزش لاراول - مقدمه