روش خودکار: یک اسکریپت از حساب کاربری کل سرور را آماده میکند (پشتهٔ وب Apache + PHP، پایگاهداده، ابزارهای امنیتی، cron). سپس — استقرار داشبورد، صدور SSL و وارد کردن لایسنس. روی Ubuntu/Debian کار میکند: روی VPS تازه همهچیز را از صفر تنظیم میکند و روی سرور از پیش پیکربندیشده — فقط بهصورت افزودنی (نمایهٔ «سرور پیکربندیشده»، گام ۰۱). همهٔ دستورهای زیر بهترتیباند، کافی است از بالا به پایین پیش بروید.
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).
۱) سطح محافظت را انتخاب کنید (در حساب کاربری، پیش از کپی فرمان):
۲) روی سرور با کاربر root فرمان موجود در حساب کاربری را اجرا کنید — اینگونه است:
برای باز کردن پنل با نشانیای مانند monitor.example.com و دریافت SSL رایگان، دامنه باید به سرور اشاره کند. در پنل مدیریت DNS (نزد ثبتکننده یا میزبان) یک رکورد A بسازید:
پس از چند دقیقه (گاهی تا یک ساعت) بررسی کنید که دامنه به سرور اشاره میکند:
/var/www/monitor را ساخته و سایت Apache را تنظیم کرده است (DocumentRoot روی ریشهٔ پنل، PHP-FPM و AllowOverride برای .htaccess). ساختن جداگانهٔ دایرکتوری و 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 پاسخ میدهد و certbot هنگام صدور SSL (گام 06) مقدار ServerName را ثبت میکند؛ نیازی به نصب دوباره نیست.
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 و حرف s بهجای x یعنی setgid تنظیم شده است.
پایگاه داده و کاربر را بسازید، سپس شِما را وارد کنید. بلوک مربوط به پایگاه داده را بهطور کامل در ترمینال بچسبانید (sudo mysql با کاربر root از طریق unix-socket وارد میشود — رمز root لازم نیست). monitor_db و monitor_user فقط نمونه هستند و میتوانید هر نامی که خواستید بگذارید؛ نام پایگاه داده، کاربر و رمز را به خاطر بسپارید — در مرحله بعد آنها را در config.php وارد میکنید:
admin را خودش میسازد (از database/db.sql)، اگر پایگاه داده خالی باشد.
www-data) اجرا شود.
config.php در ریشهٔ پنل (/var/www/monitor/config.php) تنها فایلی است که باید دستی ویرایش شود. همهٔ تنظیمات پنل در آن با ثابتهای define() تعریف شدهاند. آن را در ویرایشگر باز کنید:
مقادیر خود را در جاهای برجستهشده قرار دهید؛ بقیه را دستنخورده رها کنید:
چه چیزی را تغییر دهید:
DB_NAME، DB_USER، DB_PASS — دقیقاً همان نام پایگاه داده، کاربر و رمزی که هنگام ایجاد پایگاه داده در گام ۰۴ تعیین کردید (اگر مثالها را نگه داشتید — monitor_db / monitor_user). DB_HOST و DB_CHARSET را دست نزنید.APP_URL — آدرس کامل پنل همراه با https://، بدون اسلش انتهایی و بدون www. باید با دامنهای که لایسنس را روی آن فعال میکنید (گام ۰۷) یکسان باشد، وگرنه کلید رد میشود.TIMEZONE — منطقهٔ زمانی شما (فهرست — timedatectl list-timezones). فقط بر نحوهٔ نمایش تاریخها در پنل اثر میگذارد؛ بر زمان اجرای کارهای cron اثری ندارد (آنجا منطقهٔ زمانی سیستم حاکم است).SESSION_LIFETIME — پس از چند ثانیه بیکاری پنل ورود مجدد میخواهد (پیشفرض ۸ ساعت). مثلاً 3600 = ۱ ساعت، 86400 = یک شبانهروز.display_errors، log_errors، error_log) — پیشفرض را نگه دارید.فایل را ذخیره کنید (Ctrl+O، Enter، سپس Ctrl+X) و PHP-FPM را ریاستارت کنید — وگرنه به دلیل OPcache تغییرات اعمال نمیشوند:
640 (در گام ۰۳ تنظیم شده) و منع صریح در .htaccess ریشه. آن را در مخازن عمومی قرار ندهید و با رمز واقعی به پشتیبانی نفرستید.
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/ باشد، پنل با یک بنر قرمز درباره آن هشدار میدهد.