
مون فيصلو ڪيو ته منهنجو پورٽ فوليو Laravel 7 استعمال ڪندي. انهي ڪري ته مکيه صفحو هڪ لينڊنگ صفحو هوندو، ۽ ان تي سموري معلومات ايڊمن پينل استعمال ڪندي تبديل ڪري سگهجي ٿي. ڳالهه ناهي. اهو مقرري تي آيو. مون کي ڪجهه سٺا سبق مليا آهن ته اهو ڪيئن ڪجي هڪ مڪمل سرور تي سڀني مشڪلاتن سان. مان تعیناتي ۾ تمام مضبوط نه آهيان؛ مان عام طور تي مڪمل اسٽيڪ کان وڌيڪ اڳيان آهيان. ۽، جيڪڏهن مان اڃا تائين لکي سگهان ٿو ۽ پي ايڇ پي ۾ ٽيسٽ ڪري سگهان ٿو، پوء سرور کي منظم ڪرڻ کان اڳ، وغيره. مان اڃا وڏو نه ٿيو آهيان. پر مون کي اهو سمجهڻو هو.
ھاڻي اسان سڀني مرحلن ذريعي وڃون ٿا، SSH ذريعي لانچ سان شروع ڪندي ۽ ڪم ڪندڙ سائيٽ سان ختم ڪندي. اسان سڀني نقصانن کان بچڻ جي ڪوشش ڪنداسين.
توهان شايد ساڳئي هدايتون آن لائن ڳولي سگهو ٿا. آخرڪار، مون کي آخرڪار اهو مليو. سچ، هڪ جاء تي نه، StackOverflow جي مدد کان سواء، ۽ مشڪل سان روسي ۾. مون کي تڪليف ڏني. تنهن ڪري مون فيصلو ڪيو ته توهان جي زندگي کي آسان بڻائي.
اسين ڊجيٽل اوشن تي هڪ بوند سان سڀ ڪجهه ڪنداسين. يقيناً، هي اختياري آهي؛ ڪنهن به هوسٽنگ کي چونڊڻ لاءِ آزاد محسوس ڪريو. توهان پيداوار سرور تي پهچندا Ubuntu، واپس اچو. انهن لاءِ جيڪي اڃا تائين ڊجيٽل اوشن استعمال ڪرڻ جو فيصلو ڪن ٿا، ڊومين قائم ڪرڻ بابت وڌيڪ صلاحون هونديون. ۽ پڻ .
سڀ DigitalOcean-مخصوص مرحلا ھنن وانگر فوٽ نوٽس ۾ ڏنا ويندا.
اچو ته شروع ڪريون.
TL؛ DR (صرف بنيادي حڪم)
هڪ صارف ٺاهيو
ssh root@[IP-адрес вашего дроплета]adduser laravelusermod -aG sudo laravelsu laravel
ان ۾ SSH شامل ڪريو
mkdir ~/.sshchmod 700 ~/.sshvim ~/.ssh/authorized_keys- عوامي چيڪ داخل ڪريو
chmod 600 ~/.ssh/authorized_keys
فائر وال
sudo ufw allow OpenSSHsudo ufw enablesudo ufw status
نينڪس
sudo apt updatesudo apt install -y nginxsudo ufw allow 'Nginx HTTP'sudo ufw status
هن MySQL
sudo apt install -y mysql-serversudo mysql_secure_installation,NYNNYsudo mysqlALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';SELECT user,authentication_string,plugin,host FROM mysql.user;FLUSH PRIVILEGES;exit
پي PHP حفاظتي
sudo apt updatesudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-httpssudo apt-add-repository ppa:ondrej/phpsudo apt update7.3:
sudo apt install -y php7.3-fpm php7.3-mysql7.4:
sudo apt install -y php7.4-fpm php7.4-mysqlsudo vim /etc/nginx/sites-available/<Ваш домен>
بنيادي جوڙجڪ:
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name <Ваш домен или IP>;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}Laravel لاءِ صرف HTTP سيٽ اپ:
server {
listen 80;
listen [::]:80;
root /var/www/html/<Имя проекта>/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name <Ваш домен или IP>;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}Laravel لاءِ HTTPS سيٽنگ:
server {
listen 80;
listen [::]:80;
server_name <Ваш домен> www.<Ваш домен>;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name <Ваш домен> www.<Ваш домен>;
root /var/www/html/<Имя проекта>/public;
ssl_certificate /etc/letsencrypt/live/<Ваш домен>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<Ваш домен>/privkey.pem;
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers on;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php index.html index.htm index.nginx-debian.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
location ~ /.well-known {
allow all;
}
}sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/sudo unlink /etc/nginx/sites-enabled/defaultsudo nginx -tsudo systemctl reload nginx
Laravel
7.3:
sudo apt install -y php7.3-mbstring php7.3-xml composer unzip7.4:
sudo apt install -y php7.4-mbstring php7.4-xml composer unzipmysql -u root -pCREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';FLUSH PRIVILEGES;exitcd /var/www/htmlsudo mkdir -p <Имя проекта>sudo chown laravel:laravel <Имя проекта>cd ./<Имя проекта>git clone <ссылка на проект> ./git clone -b <имя ветки> --single-branch <ссылка на проект> .composer installvim .env
APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<Ваш домен>
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<Ваш пароль от MySQL>php artisan migratephp artisan key:generatesudo chown -R $USER:www-data storagesudo chown -R $USER:www-data bootstrap/cachechmod -R 775 storagechmod -R 775 bootstrap/cache
اي ٽي پي پي
sudo add-apt-repository ppa:certbot/certbotsudo apt install -y python-certbot-nginxsudo certbot certonly --webroot --webroot-path=/var/www/html/<Имя проекта>/public -d <Ваш домен> -d www.<Ваш домен>sudo nginx -tsudo ufw allow 'Nginx HTTPS'sudo ufw statussudo systemctl reload nginx
DigitalOcean تي هڪ قطرو ٺاهيو ۽ هڪ نئون SSH چيڪ رجسٽر ڪريو
مون کي يقين آهي ته توهان اهو سمجهندا ته ڪيئن رجسٽر ٿيو ڊجيٽل اوشن پاڻ سان. اهو آسان ناهي، ڪيترن ئي تصديق ۽ ٻين شين سان. جيڪڏهن توهان مسلسل نيٽ ورڪ جي غلطي حاصل ڪندا آهيو جڏهن دستاويزن جي تصديق ڪندي، هڪ وي پي اين ذريعي سڀ ڪجهه ڪرڻ جي ڪوشش ڪريو، ان کي مدد ڪرڻ گهرجي.
مٿين مينيو ۾، ڪلڪ ڪريو ٺاهيو->ننڍو ڦڙو. چونڊيو Ubuntu.
جيئن ئي توهان رجسٽر ڪندا، توهان کي پنهنجي اڪائونٽ ۾ $100 ملي ويندا. پر بيوقوف نه ٿيو. توهان وٽ صرف ان کي خرچ ڪرڻ لاء 60 ڏينهن آهن. ۽ اهو تمام ٿورڙو آهي. توهان شايد، مون وانگر، هڪ وڌيڪ مهانگو منصوبو استعمال ڪرڻ چاهيو ٿا، ته جيئن بعد ۾، جڏهن حقيقي پئسا وهڻ شروع ٿئي، توهان سستي واري منصوبي تي تبديل ڪري سگهو ٿا. مان توهان کي سڌو ٻڌايان ٿو ته اهو ڪم نه ڪندو. توهان ان کي وڌائي سگهو ٿا، پر توهان ان کي گهٽائي نٿا سگهو. سو وڃي ٿو. مان چونڊيو معياري->$5.
مان اسان جي ويجهو علائقو چونڊيو Frankfurt. VPC نيٽورڪ->ڊفالٽ-fra1
اسان فوري طور تي SSH ذريعي تصديق ڪنداسين. ڪلڪ ڪريو نئون SSH Key. جيڪڏهن توهان وٽ SSH نه آهي، ساڄي پاسي تمام سادي هدايتون آهن. بش ٽرمينل کوليو ۽ پيسٽ ڪريو
ssh-keygen. ان کان پوء اسان عوامي چيڪ سان فائل ڏانهن وڃو/Users/<Ваше имя пользователя>/.ssh/id_rsa.pub(يا سڌوcat ~/.ssh/id_rsa.pub)، مواد کي نقل ڪريو ۽ کاٻي پاسي واري ونڊو ۾ پيسٽ ڪريو. ڪو به نالو.اسان بوند لاءِ ميزبان نالو کڻي آيا آهيون.
پڪو قطرو ٺاهيو
ھڪڙو نئون استعمال ڪندڙ ٺاھيو
ssh root@[IP-адрес вашего дроплета]- ڇا توهان پڪ سان ڳنڍڻ جاري رکڻ چاهيو ٿا (ها/نه/[فنگر پرنٽ])؟
yes - پنهنجو SSH پاسورڊ داخل ڪريو
- هڪ صارف ٺاهيو laravel:
adduser laravel - پنهنجو پاسورڊ ۽ ٻي معلومات داخل ڪريو (مان صرف پورو نالو داخل ڪريو)
- استعمال ڪندڙ کي sudo گروپ ۾ شامل ڪريو:
usermod -aG sudo laravel
SSH نئين استعمال ڪندڙ لاء
- نئين استعمال ڪندڙ کي تبديل ڪريو:
su laravel
اسان سڀني عملن کي اڳتي وڌايو، آرٽيڪل جي آخر تائين، لاريول استعمال ڪندڙ جي طرفان. تنهن ڪري، جيڪڏهن توهان اوچتو مداخلت ڪئي آهي، ٻيهر لاگ ان ۽ داخل ٿيو su laravel
mkdir ~/.sshchmod 700 ~/.sshvim ~/.ssh/authorized_keys
اسان Vim ۾ فائل کوليو. جيڪڏهن توهان ان کان بلڪل واقف نه آهيو، توهان نانو ۾ ڪم ڪري سگهو ٿا، توهان جو حق.
سڀ کان وڌيڪ بنيادي Vim حڪم
سڄي مضمون ۾ ويم ايڊيٽر کي استعمال ڪرڻ لاءِ، توھان کي ھيٺ ڏنل ڄاڻڻ جي ضرورت آھي.
- Vim جا مختلف طريقا آھن: عام موڊ، جنھن ۾ توھان داخل ڪريو حڪم ۽ چونڊيو موڊس ۽ ٻيا.
- ڪنهن به موڊ مان نڪرڻ ۽ عام موڊ ڏانھن موٽڻ لاءِ، بس دٻايو
Esc - چوڌاري منتقل ڪريو: توهان صرف تير استعمال ڪري سگهو ٿا
- بغير بچاء کان ٻاهر نڪرڻ
<Normal mode>::q! - نڪرڻ ۽ بچايو
<Normal mode>::wq - تبديل ڪريو ٽيڪسٽ ان پٽ موڊ
<Normal mode>:i(انگريزيءَ مان. داخل ڪيو)
- اسان اسان جي عوامي چيڪ داخل ڪيو (جيڪو اسان مٿي ڪيو)
- اسان تبديلين جي خلاف حفاظت ڪريون ٿا:
chmod 600 ~/.ssh/authorized_keys
فائر وال انسٽال ڪرڻ
- اچو ته سڀ موجود سيٽنگون ڏسو:
sudo ufw app list - OpenSSH کي اجازت ڏيو (ٻي صورت ۾ اهو اسان کي بند ڪري ڇڏيندو):
sudo ufw allow OpenSSH - اچو ته فائر وال شروع ڪريون:
sudo ufw enable,y - اسان پڙتال ڪريو
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)سڀ ڪجھ ٺيڪ آهي.
Nginx انسٽال ڪرڻ
انسٽاليشن دوران توهان ڪڏهن ڪڏهن پڇيو ويندو "ڇا توهان کي پڪ آهي؟" جواب y (چڱو، صرف جيڪڏھن توھان پڪ آھيو).
sudo apt updatesudo apt install nginx
Nginx کي فائر وال سيٽنگون شامل ڪرڻ
sudo ufw app listsudo ufw allow 'Nginx HTTP'sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)توھان جي IP ڏانھن وڃو. جيڪڏھن سڀ ڪجھ ٺيڪ ٿي وڃي، توھان کي ھيٺ ڏنل ڏسڻ گھرجي.

MySQL انسٽال ڪرڻ
sudo apt install mysql-server- هڪ خودڪار تحفظ اسڪرپٽ هلائي
sudo mysql_secure_installation
پڇيل سوالن جا جواب ڏيو. جيڪڏهن توهان کي خبر ناهي ته ڪهڙو جواب ڏيو، هتي ڪجهه تجويز ڪيل اختيار آهن:
پاسورڊ پلگ ان جي تصديق ڪريو -
Nگمنام استعمال ڪندڙن کي هٽايو؟ -
Yروٽ لاگ ان کي ريموٽ جي اجازت نه ڏيو؟ -
Nٽيسٽ ڊيٽابيس کي هٽايو ۽ ان تائين رسائي؟ -
Nاستحقاق واري ٽيبل کي هاڻي ٻيهر لوڊ ڪريو؟ -
Yاچو ته MySQL ڏانهن وڃو:
sudo mysqlاچو ته رسائي جا طريقا ڏسو:
SELECT user,authentication_string,plugin,host FROM mysql.user;روٽ لاءِ پاسورڊ سيٽ ڪريو:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';اچو ته ٻيهر رسائي جي طريقن کي ڏسو:
SELECT user,authentication_string,plugin,host FROM mysql.user;تبديلين کي لاڳو ڪريو ۽ MySQL مان نڪرڻ:
FLUSH PRIVILEGES;иexitھاڻي، لاگ ان ٿيڻ لاءِ MySQL توھان کي استعمال ڪرڻ جي ضرورت آھي
mysql -u root -p۽ پاسورڊ داخل ڪريو
PHP انسٽال ڪرڻ
اچو ته ٽئين پارٽي جي ذخيري مان استعمال ڪريون
sudo apt updatesudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-httpssudo apt-add-repository ppa:ondrej/phpsudo apt update
هاڻي اچو ته چونڊيو. Laravel 7 لاءِ، توھان چونڊي سگھوٿا PHP 7.3 يا 7.4. فرق صرف نمبر 3 ۽ 4 ۾ هوندو.
- 7.3:
sudo apt install -y php7.3-fpm php7.3-mysql - 7.4:
sudo apt install -y php7.4-fpm php7.4-mysql
PHP FastCGI پروسيس مئنيجر (fpm) PHP درخواستن سان ڪم ڪري ٿو. mysql، يقينا، MySQL سان ڪم ڪرڻ لاءِ.
ھاڻي مان 7.4 تي سڀ ڪجھ ڪندس.
Nginx ترتيب ڏيڻ
sudo vim /etc/nginx/sites-available/<Ваш домен>
"<Your domain>" جي بدران ڊومين داخل ڪريو (مثال طور، mysite.ru) جيڪو توهان مستقبل ۾ استعمال ڪرڻ چاهيو ٿا. جيڪڏهن توهان وٽ اڃا تائين ڪو نه آهي، ڪو به لکو، پوءِ صرف هن باب ۾ ڏنل قدمن کي ورجايو پنهنجي ڊومين لاءِ جڏهن توهان ان کي چونڊيو.
ھيٺيون داخل ڪريو:
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name <Ваш домен или IP>;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}جيڪڏھن توھان چونڊيو نسخو 7.3 بدران php7.4-fpm.sock ۾ لکڻ php7.4-fpm.sock.
بندرگاهه 80 تي ٻڌو server_nameجڏهن اسان روٽ درخواست تي پهچون ٿا /var/www/html index فائل وٺو. جيڪڏهن بعد ۾ server_name اتي ڪجهه آهي، اسان اهڙي فائل ڳولي رهيا آهيون. جيڪڏهن اسان ان کي نه ڳوليندا آهيون، اسان 404 ڪڍي ڇڏيندا آهيون. جيڪڏهن اهو ختم ٿئي ٿو .php، ذريعي هلڻ fpm... جيڪڏهن آهي .htمنع ڪرڻ (403).
- مان لنڪ ٺاهيندي
sites-availableвsites-enabled:sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/ - جي لنڪ کي هٽائڻ
default:sudo unlink /etc/nginx/sites-enabled/default - غلطين جي چڪاس:
sudo nginx -t - ريبوٽ:
sudo systemctl reload nginx
ڪم جي چڪاس:
sudo vim /var/www/html/info.php- اسين لکون ٿا:
<?php phpinfo(); - اچو ته وڃون
<Ваш IP>/info.php
توھان کي ڪجھھ ڏسڻ گھرجي:

ھاڻي ھن فائل کي ختم ڪري سگھجي ٿو: sudo rm /var/www/html/info.php
Laravel انسٽال ڪريو
7.3:
sudo apt install php7.3-mbstring php7.3-xml composer unzip7.4:
sudo apt install php7.4-mbstring php7.4-xml composer unzipاچو ته MySQL ڏانهن وڃو:
mysql -u root -pنالي سان ڊيٽابيس ٺاهيو laravel:
CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;اسان روٽ تائين رسائي فراهم ڪندا آهيون laravel:
GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';FLUSH PRIVILEGES;exitcd /var/www/htmlپروجيڪٽ لاءِ فولڊر ٺاهيو:
sudo mkdir -p <Имя проекта>اسان صارف مهيا ڪندا آهيون laravel پروجيڪٽ جا حق:
sudo chown laravel:laravel <Имя проекта>
اڳيون توهان کي پروجيڪٽ کي منتقل ڪرڻ جي ضرورت آهي. مثال طور، Github کان ڪلوننگ.
cd ./<Имя проекта>git clone <ссылка на проект> .
اهو غور ڪرڻ جي قابل آهي ته جيڪڏهن توهان جامد فائلن کي محفوظ نه ڪيو آهي (مثال طور، کان /public) Github تي، پوء قدرتي طور تي توهان وٽ نه هوندو. مثال طور، مون ان کي حل ڪرڻ لاء هڪ الڳ موضوع ٺاهي deploy، جنهن مان مون اڳ ۾ ئي ڪلون ڪيو آهي: git clone -b <имя ветки> --single-branch <ссылка на проект> ..
- انسٽاليشن انحصار:
composer install - env ٺاهيو:
vim .env
ان جو بنيادي نسخو هن طرح نظر اچي ٿو:
APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<Ваш домен>
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<Ваш пароль от MySQL>جيڪڏھن توھان پنھنجي .env کي نقل ڪريو ٿا، APP_ENV کي پيداوار سان، APP_DEBUG کي غلط سان تبديل ڪريو ۽ MySQL لاءِ صحيح سيٽنگون داخل ڪريو.
- ڊيٽابيس جي منتقلي:
php artisan migrate - ڪوڊ ٺاهيندي:
php artisan key:generate
اجازتون تبديل ڪرڻ:
sudo chown -R $USER:www-data storagesudo chown -R $USER:www-data bootstrap/cachechmod -R 775 storagechmod -R 775 bootstrap/cache
آخري شيء ڇڏي ويو آهي Nginx کي ٻيهر ترتيب ڏيڻ لاء Laravel:
sudo vim /etc/nginx/sites-available/<Ваш домен>
server {
listen 80;
listen [::]:80;
root /var/www/html/<Имя проекта>/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name <Ваш домен или IP>;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}گذريل ڀيري وانگر، جيڪڏھن توھان چونڊيو نسخو 7.3 بدران php7.4-fpm.sock ۾ لکڻ php7.4-fpm.sock.
DigitalOcean تي ڊومين قائم ڪرڻ
هر شي حقيقت ۾ تمام سادو آهي. توهان هڪ ڊومين خريد ڪريو (ڪٿي به)، سوئچ ڪريو DigitalOcean at ٺاهيو->ڊومينز/DNS... ميدان ۾ ڊومين شامل ڪريو توھان ھي ڊومين داخل ڪريو ۽ شامل ڪريو تي ڪلڪ ڪريو. پوء ڊومين سيٽنگون ۽ فيلڊ ڏانھن وڃو دوست نام داخل ڪرڻ @. ھڪڙو منصوبو چونڊيو ۽ ڪلڪ ڪريو رڪارڊ ٺاهيو.
ھاڻي ان سائيٽ ڏانھن وڃو جتي توھان ڊومين خريد ڪيو آھي، اتي ”DNS سرورز“ ڳولھيو (يا ڪجھ ساڳيو) ۽ داخل ڪريو DigitalOcean سرور (يعنيns1.digitalocean.com,ns2.digitalocean.com,ns3.digitalocean.com). ھاڻي توھان کي ٿورڙو (يا گھڻو) انتظار ڪرڻو پوندو جيستائين اھي سيٽنگون قبول ڪيون وڃن. تيار!
صرف مسئلو اهو آهي ته توهان جي سائيٽ صرف HTTP طور کوليو ويندو. HTTPS حاصل ڪرڻ لاء، ايندڙ حصو ڏانھن وڃو.
HTTPS ترتيب ڏيڻ
انسٽال ڪريو certbot ۽ ان کي پاس ڪريو ڊومين جو نالو (فارميٽ mysite.ru) ۽ ڊومين جو نالو www سان (www.mysite.ru).
sudo add-apt-repository ppa:certbot/certbotsudo apt install python-certbot-nginxsudo certbot certonly --webroot --webroot-path=/var/www/html/<Имя проекта>/public -d <Ваш домен> -d www.<Ваш домен>
هاڻي توهان کي Nginx کي ٻيهر ترتيب ڏيڻ جي ضرورت آهي (پنهنجي قيمتن کي متبادل ڪرڻ نه وساريو):
server {
listen 80;
listen [::]:80;
server_name <Ваш домен> www.<Ваш домен>;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name <Ваш домен> www.<Ваш домен>;
root /var/www/html/<Имя проекта>/public;
ssl_certificate /etc/letsencrypt/live/<Ваш домен>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<Ваш домен>/privkey.pem;
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers on;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php index.html index.htm index.nginx-debian.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
location ~ /.well-known {
allow all;
}
}مان سمجهان ٿو ته توهان اڳ ۾ ئي سمجهي چڪا آهيو ته پي ايڇ پي 7.3 لاءِ ڪهڙي تبديلي جي ضرورت آهي.
هتي، حقيقت ۾، هر شيء سادو آهي. اسان صرف HTTP (پورٽ 80) کان HTTPS (پورٽ 443) تائين سڀني درخواستن کي ريڊائريڪٽ ڪريون ٿا. ۽ اُتي اسان سڀ ڪجھ ڪندا آھيون اڳ وانگر، پر انڪريپشن سان.
باقي اهو آهي ته اجازتون مقرر ڪرڻ لاءِ فائر وال ۾:
sudo nginx -tsudo ufw app listsudo ufw allow 'Nginx HTTPS'sudo ufw statussudo systemctl reload nginx
هاڻي هر شي کي ڪم ڪرڻ گهرجي جيئن ان کي گهرجي.
[ترقي] انسٽال ڪرڻ Node.js
جيڪڏهن اوچتو توهان کي هلائڻ جي ضرورت آهي npm ڪمانڊ سڌو سنئون سرور تي، توهان کي انسٽال ڪرڻو پوندو Node.js.
sudo apt updatesudo apt install -y nodejs npmnodejs -v
اهو ئي آهي، مون هن اسٽيج تي روڪي ڇڏيو. اصول ۾، مان نتيجو سان مطمئن آهيان. شايد مان ڊجيٽل اوشن مان مٽائيندس روس جي ويجهو ۽ سستو. پر جيئن ته مان پهريان ئي سائيٽ تي سڀني تصديق جي دورن مان گذري چڪو آهيان ۽ اتي سڀ ڪجهه ڪيو، مون انهن کي مثال طور ڏيکاريو. اضافي طور تي، انهن جي شروعاتي $100 ٽريننگ لاء هڪ بهترين اسپرنگ بورڊ آهي.
پي ايس خاص ليکڪ جي مهرباني ، جيڪو مٿين سڀني عملن جي بنياد طور ڪم ڪيو. ڪجهه حالتن ۾ اهو Laravel 7 لاء ڪم نٿو ڪري، مون ان کي مقرر ڪيو.
پي پي ايس جيڪڏهن توهان هڪ اعليٰ انجنيئر آهيو جيڪو بش ڪمانڊ ۾ سوچي ٿو، مهرباني ڪري سختي سان فيصلو نه ڪريو. توھان کي ھي آرٽيڪل گھٽ معيار جو معلوم ٿي سگھي ٿو، پر مون کي ھڪڙي ڳولڻ ۾ خوشي ٿئي ھا جڏھن مون کي ھڪڙي جي ضرورت ھئي. جيڪڏهن بهتري لاءِ تجويزون آهن، مان ان لاءِ آهيان.
جو ذريعو: www.habr.com
