خودکار طریقہ: ذاتی اکاؤنٹ سے ایک اسکرپٹ پورا سرور تیار کر دیتا ہے (ویب اسٹیک Apache + PHP، ڈیٹابیس، سیکیورٹی ٹولز، cron)۔ اس کے بعد — پینل تعینات کریں، SSL جاری کریں اور لائسنس درج کریں۔ یہ Ubuntu/Debian پر چلتا ہے: نئے VPS پر سب کچھ صفر سے سیٹ کرتا ہے، پہلے سے سیٹ سرور پر — صرف اضافی طور پر (پروفائل “سیٹ شدہ سرور”، مرحلہ 01)۔ نیچے دی گئی تمام کمانڈز ترتیب سے ہیں، بس اوپر سے نیچے اسکرول کریں۔
monitor.example.com — آپ کا ڈومین؛ 203.0.113.10 — سرور کا حقیقی IP؛ /var/www/monitor — پینل کا روٹ (جہاں public/، assets/، config.php موجود ہیں)؛ ڈیٹابیس کا پاس ورڈ اپنا بنائیں۔
jail.local)، root-crontab، UFW قواعد، Apache کانفیگ۔ اگر سرور پہلے سے سیٹ ہے (کام کرتا پینل، سائٹس، میل، اپنے jail) — تو “سیٹ شدہ سرور” پروفائل منتخب کریں: یہ صرف اضافی تبدیلیاں کرتا ہے اور آپ کے فائروال، Fail2ban، میل، SSH اور sysctl کو نہیں چھیڑتا۔ ہوسٹنگ پینل کا پتہ چلنے پر اسکرپٹ خود اسی موڈ میں چلا جاتا ہے۔ پہلی بار چلانے سے پہلے آپ ڈرائی رن آن کر سکتے ہیں (اکاؤنٹ میں چیک باکس) — یہ بغیر کچھ بدلے دکھاتا ہے کہ کیا کیا جائے گا۔ کام کرتے سرور پر احتیاطاً ایک snapshot بنا لیں۔
my.arciveo.com ← سیکشن “سرور سیٹ اپ” سے لیتے ہیں (Arcivéo Monitor کی خریداری کے بعد دستیاب)۔ یہ آپ کے اکاؤنٹ سے منسلک ہے اور ذاتی ٹوکن رکھتی ہے۔
اسکرپٹ پورے سرور کو تیار کرتا ہے: ویب اسٹیک (Apache + PHP)، ڈیٹابیس، SSL کے اوزار، تحفظ کے آلات کا مکمل سیٹ اور cron-جابز (Lynis، SMART، debsums، Logwatch، روزانہ رپورٹ، ipsum اپ ڈیٹ)۔
1) تحفظ کی سطح منتخب کریں (اکاؤنٹ میں، کمانڈ کاپی کرنے سے پہلے):
2) سرور پر root کے تحت چلائیں اکاؤنٹ سے حاصل کردہ کمانڈ — یہ اس طرح دکھتی ہے:
پینل کو monitor.example.com جیسے پتے پر کھولنے اور مفت SSL حاصل کرنے کے لیے، ڈومین کا سرور کی طرف اشارہ ہونا ضروری ہے۔ DNS کنٹرول پینل میں (رجسٹرار یا ہوسٹر کے پاس) ایک A-ریکارڈ بنائیں:
چند منٹ بعد (کبھی کبھار ایک گھنٹے تک) جانچیں کہ ڈومین سرور کی طرف اشارہ کر رہا ہے:
/var/www/monitor بنا چکا ہے اور Apache سائٹ ترتیب دے چکا ہے (DocumentRoot پینل کے روٹ پر، PHP-FPM، .htaccess کے لیے AllowOverride)۔ الگ سے ڈائریکٹری اور vhost بنانے کی ضرورت نہیں — بس فائلیں اپلوڈ کریں اور اجازتیں سیٹ کریں۔
my.arciveo.com اکاؤنٹ میں → “ڈاؤن لوڈز” سے ڈاؤن لوڈ ہوتی ہیں۔ سرور پر اپلوڈ کرنے سے پہلے آرکائیو کھول لیں۔
ڈسٹری بیوشن کا مواد اپلوڈ کریں /var/www/monitor میں (تاکہ اندر public/, assets/, config.php وغیرہ آ جائیں) — SFTP/SCP (FileZilla / WinSCP) کے ذریعے یا مقامی کمپیوٹر سے scp کمانڈ سے:
ServerName) اس کے لیے اسے خودکار سیٹ اپ کمانڈ میں مرحلہ 01 پر ہی دیا جاتا ہے: … | sudo bash -s -- monitor.example.com (یا اکاؤنٹ میں “پینل ڈومین” فیلڈ میں ڈومین درج کریں)۔ اگر ڈومین نہیں دیا — پینل ہر ہوسٹ اور IP پر جواب دیتا ہے، اور SSL جاری کرتے وقت certbot خود ServerName درج کر دے گا (مرحلہ 06)؛ دوبارہ کچھ انسٹال کرنے کی ضرورت نہیں۔
root کے تحت یا SFTP کے ذریعے اپلوڈ کیا، تو فائلیں root کی ملکیت ہیں، اور ویب سرور (www-data) انہیں پڑھ نہیں سکے گا — پینل خالی یا 403 خرابی کے ساتھ کھلے گا (لاگ میں: .htaccess unreadable / directory not executable)۔ نیچے دی گئی کمانڈ اسے ٹھیک کر دیتی ہے:
اپنے لیے SFTP سے فائل اپلوڈ کھولیں۔ اوپر والی کمانڈ کے بعد تمام فائلیں www-data کی ملکیت ہوتی ہیں، جبکہ FileZilla / WinSCP آپ کے اپنے صارف سے جڑتے ہیں — تب اپلوڈ SSH_FX_PERMISSION_DENIED (Permission denied) کے ساتھ ناکام ہوگا۔ دو میں سے ایک طریقہ منتخب کریں۔
طریقہ A — صرف آپ کے صارف کے لیے ACL (تجویز کردہ)۔ لکھنے کا اختیار صرف آپ کو ملتا ہے؛ ویب سرور اب بھی پینل کا کوڈ تبدیل نہیں کر سکتا:
طریقہ B — www-data گروپ کے ذریعے۔ آسان ہے، مگر پینل کی فائلوں پر لکھنے کا اختیار ویب سرور کو بھی مل جاتا ہے: PHP میں کوئی خامی ہو تو کوڈ بدلا جا سکتا ہے۔ کمانڈز کی ترتیب اہم ہے — config.php اور کام کے فولڈر سب سے آخر میں بند کیے جاتے ہیں:
id deploy — گروپوں کی فہرست میں www-data نظر آنا چاہیے؛ ls -ld /var/www/monitor — اجازتیں drwxrwsr-x، اور x کی جگہ s کا مطلب ہے کہ setgid لگا ہوا ہے۔
ایک ڈیٹابیس اور صارف بنائیں، پھر اسکیما امپورٹ کریں۔ ڈیٹابیس والا بلاک ٹرمینل میں مکمل طور پر پیسٹ ہوتا ہے (sudo mysql unix-socket کے ذریعے root کے طور پر داخل ہوتا ہے — root پاس ورڈ کی ضرورت نہیں)۔ monitor_db اور monitor_user مثال کے نام ہیں، آپ اپنی مرضی کے کوئی بھی رکھ سکتے ہیں؛ ڈیٹابیس کا نام، صارف اور پاس ورڈ یاد رکھیں — اگلے مرحلے میں انہیں config.php میں درج کریں گے:
admin اکاؤنٹ بناتا ہے (database/db.sql سے)، اگر ڈیٹابیس خالی ہو۔
www-data کے علاوہ)۔
config.php پینل کی جڑ میں (/var/www/monitor/config.php) — واحد فائل ہے جسے ہاتھ سے ترمیم کرنا ضروری ہے۔ پینل کی تمام ترتیبات اس میں define() constants کے ذریعے دی گئی ہیں۔ اسے کسی ایڈیٹر میں کھولیں:
اپنی قدریں نمایاں جگہوں پر ڈالیں؛ باقی جوں کا توں رہنے دیں:
کیا تبدیل کرنا ہے:
DB_NAME، DB_USER، DB_PASS — بالکل وہی ڈیٹابیس نام، صارف اور پاس ورڈ جو آپ نے مرحلہ 04 میں ڈیٹابیس بناتے وقت مقرر کیے (اگر مثالیں رہنے دیں تو — monitor_db / monitor_user)۔ DB_HOST اور DB_CHARSET کو نہ چھیڑیں۔APP_URL — پینل کا مکمل پتہ https:// کے ساتھ، آخر میں سلیش کے بغیر اور www کے بغیر۔ اسے اُس ڈومین سے مطابقت رکھنی چاہیے جس پر آپ لائسنس فعال کرتے ہیں (مرحلہ 07)، ورنہ کلید مسترد ہو جائے گی۔TIMEZONE — آپ کا ٹائم زون (فہرست — timedatectl list-timezones)۔ یہ صرف اس پر اثر ڈالتا ہے کہ پینل تاریخیں کیسے دکھاتا ہے؛ cron کاموں کے شروع ہونے کے وقت پر اثر نہیں ڈالتا (وہاں سسٹم کا ٹائم زون لاگو ہوتا ہے)۔SESSION_LIFETIME — کتنے سیکنڈ کی بے عملی کے بعد پینل دوبارہ لاگ اِن کرنے کو کہے گا (طے شدہ 8 گھنٹے)۔ مثلاً 3600 = 1 گھنٹہ، 86400 = ایک دن۔display_errors، log_errors، error_log) — طے شدہ حالت میں رہنے دیں۔فائل محفوظ کریں (Ctrl+O، Enter، پھر Ctrl+X) اور PHP-FPM دوبارہ چالو کریں — ورنہ OPcache کی وجہ سے تبدیلیاں لاگو نہیں ہوں گی:
640 (مرحلہ 03 میں مقرر) اور جڑ کے .htaccess میں واضح ممانعت۔ اسے عوامی repositories میں نہ رکھیں اور اصل پاس ورڈ کے ساتھ سپورٹ کو نہ بھیجیں۔
http:// پر آپ لاگ اِن نہیں کر سکیں گے۔
certbot اور Apache کا پلگ اِن آٹو سیٹ اپ کے ذریعے پہلے ہی انسٹال ہو چکے ہیں۔ ڈومین کا DNS پہلے ہی سرور کی طرف اشارہ کر رہا ہونا چاہیے (مرحلہ 02)۔ ایک ہی کمانڈ سے اجرا:
Y۔<VirtualHost *:443> لکھے گا، http→https ری ڈائریکٹ اور خودکار تجدید سیٹ کرے گا۔ آخر میں — Successfully enabled HTTPS۔
dig +short monitor.example.com سرور کا IP واپس کرتا ہے اور پورٹ 80/443 کھلے ہیں (sudo ufw allow 80,443/tcp)۔
اجرا کے بعد: https://monitor.example.com تالے کے ساتھ کھلتا ہے، http:// https:// پر ری ڈائریکٹ کرتا ہے۔
https://monitor.example.com کھولیں، admin / useradmin سے لاگ اِن کریں اور یہ چیک لسٹ مکمل کریں:
ARCIVEO-… ایکٹیویشن کوڈ اپنے ڈومین پر ایکٹیویٹ کریں اور کلید “سیٹنگز” → “لائسنس” میں چسپاں کریں۔ مزید تفصیل۔public/start_db.php، اگر باقی ہو: یہ بغیر اجازت کے ڈیٹابیس دوبارہ بنانے کی اجازت دیتا ہے۔ جب تک فائل پینل کی جڑ میں یا public/ میں موجود ہے، پینل سرخ بینر کے ذریعے اس کے بارے میں خبردار کرتا ہے۔