نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
در این آموزش ، سرور وب را با پروکسی معکوس تنظیم خواهیم کرد. CMS ما از Keystone.js استفاده خواهیم کرد ، یک چارچوب کاربردی شناخته شده وب که از Express.js مستقر است. پروکسی معکوس مورد استفاده ما Nginx است که یک پروکسی معکوس آزاد و منبع باز و همچنین سرور HTTP است. بانک اطلاعاتی که ما از آن استفاده خواهیم کرد MongoDB ، یک پایگاه داده اسناد NoSQL است. این امر به شما نیاز دارد که یک دامنه با تنظیم سوابق داشته باشید. اگر آن مجموعه را ندارید ، پیش بروید و از آن مراقبت کنید و به این آموزش برگردید.
ابتدا Node.js را نصب خواهیم کرد که یک مترجم Javascript بر اساس موتور Chrome V8 Javascript است.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
بعد ، Nginx ، پروکسی معکوس خود را نصب خواهیم کرد.
sudo apt update
sudo apt install nginx
با این کار لیست های بسته به روزرسانی می شود و Nginx را نصب می کنید. پس از اتمام نصب ، پروژه گره خود را تنظیم خواهیم کرد.
پروژه گره ما را ایجاد کنید. برای انجام این کار ، به سادگی یک پوشه جدید ایجاد کنید.
mkdir website
سپس ، package.json
پرونده خود را ایجاد خواهیم کرد . برای این کار ، به سادگی npm init
در ترمینال خود اجرا کنید ، فیلدها را پر کنید و yes
برای تأیید پاسخ دهید . پس از ایجاد package.json
پرونده ، ماژول های گره زیر را نصب خواهیم کرد.
sudo npm install -g generator-keystone
sudo npm install -g yo
پس از اتمام بارگیری ، موارد زیر را اجرا کنید.
yo keystone
فیلدهای موردنیاز را پر کنید. آن را به شما برای درخواست project name
از template engine
، email
برای کنترل پنل، و غیره. اگر نمی دانید چه چیزی را انتخاب کنید ، پیش فرض ها خوب خواهند بود. بعد از تنظیم تنظیمات کلید اصلی خود ، می توانیم تست کنیم که سرور ما با تایپ کردن node keystone
برای شروع برنامه شما ، کار کند. به طور پیش فرض ، برنامه شما localhost
در درگاه اجرا می شود 3000
. توجه داشته باشید که در صورت نصب MongoDB ، بلافاصله یک بانک اطلاعاتی در دسترس شما نخواهد بود. می توانید نحوه نصب آن را بعداً در آموزش بیاموزید.
در اینجا طرح اصلی دایرکتوری برای Keystone.js آورده شده است:
/lib
- اینجاست که کتابخانه های سفارشی و کد دیگری را ذخیره می کنید.
/models
- این جایی است که شما مدل های پایگاه داده برنامه خود را ذخیره می کنید. KeystoneJS از MongoDB به عنوان ارائه دهنده پایگاه داده استفاده می کند.
/public
- اینجاست که پرونده های استاتیک شما (CSS ، JS ، تصاویر و غیره) ذخیره می شوند.
/routes/api
- اینجاست که کنترلرهای API برنامه شما ذخیره می شود.
/routes.views
- کنترلرهای مشاهده برنامه در اینجا ذخیره می شوند.
/templates
- اینجاست که تمام فایلهای الگوی برنامه شما ذخیره می شود.
/updates
- اینجاست که اسکریپت های مهاجرت شما ذخیره می شود.
package.json
- این پرونده پیکربندی npm شماست که ژنراتور برای ما تولید می کند.
keystone.js
- پرونده اصلی شروع ما ، این کار را هنگام راه اندازی وب سایت اجرا می کنیم.
همانطور که قبلاً ذکر شد ، بانک اطلاعاتی ما که از آن استفاده خواهیم کرد MongoDB است که یک پایگاه داده معتبر NoSQL و مستند است. اگر قبلاً نصب MongoDB رخ داده است ، ممکن است از این بخش پرش کنید. اگر نه ، پس نحوه نصب آن در اوبونتو 16.04 آورده شده است.
کلید عمومی مورد استفاده برای بسته mongoDB را وارد کنید.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
پرونده لیست مورد استفاده برای نصب بسته را ایجاد کنید.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
لیست های بسته خود را با استفاده از به روز کنید apt
.
sudo apt update
در آخر ، MongoDB را نصب کنید.
sudo apt install mongodb-org -y
پس از پایان یافتن این نصب ، MongoDB را شروع کنید.
sudo service mongod start
این کار روند MongoDB را در درگاه شروع می کند 27017
.
MongoDB در طول برنامه استفاده خواهد شد ، و از آن برای ذخیره اطلاعاتی که ما برای مدلهای خود استفاده می کنیم ، به عنوان مثال یک User
مدل استفاده می شود. Keystone از آن به عنوان پایگاه داده مورد نظر خود استفاده می کند ، و در این زمان شما نمی توانید از دیگر فروشندگان پایگاه داده استفاده کنید.
اکنون زمان آن رسیده است تا PM2 (Manager Manager 2.) را نصب کنید. PM2 یک مدیر پروسه برای برنامه های Node.js است ، در قالب یک ماژول npm. این یک راه آسان برای شما برای مدیریت برنامه های خود و اجرای آنها در پس زمینه فراهم می کند. از آنجا که در NPM است ، تمام کاری که باید برای نصب آن انجام دهیم ، موارد زیر است.
sudo npm install pm2 -g
این به npm می گوید که آن را در سطح جهانی نصب کنید ، بنابراین می توانیم از آن در هر نقطه از سیستم خود استفاده کنیم.
پیش از این ، برنامه وب خود را با آن اجرا کردیم node keystone
. با PM2 ، کمی متفاوت است. اکنون برنامه گره خود را با موارد زیر اجرا می کنیم.
pm2 start keystone.js
این برنامه PM2 ما را به لیست فرآیندهای ما اضافه می کند ، و یک جعبه کوچک نمایش داده می شود ، بنابراین می توانید ببینید که در واقع بصورت آنلاین است. کادر مورد نظر id
برای روند خود را یادداشت کنید. این را نزدیک نگه دارید ، زیرا بعداً به این موارد اشاره خواهیم کرد.
برای دیدن گزارش های مربوط به برنامه خود
pm2 logs [id]
به عنوان مثال ، pm2 logs 0
اگر این اولین برنامه PM2 شما است.
برای متوقف کردن برنامه وب خود در هر زمان.
pm2 stop [id]
برای حذف کامل برنامه خود
pm2 delete [id]
PM2 حتی اگر می خواهید برخی از آمارهای اولیه برای برنامه خود را مشاهده کنید ، داشبورد مانیتورینگ نیز دارد و با این کار می توانید به آن دسترسی پیدا کنید.
pm2 monit
با این کار برخی از اطلاعات اساسی مانند استفاده از RAM ، استفاده از CPU و بروزرسانی نمایش داده می شود.
یک ویژگی عالی که PM2 ارائه می دهد این است watching
. در اصل ، تماشای زمانی است که PM2 به طور خودکار تغییرات در هر یک از پرونده های موجود در همان فهرست را با همان پرونده شروع شما تشخیص می دهد و به طور خودکار برنامه شما را دوباره راه اندازی می کند. برای فعال کردن آن ، برنامه خود را مجدداً راه اندازی مجدد کنید ، اما آنرا پرچم ساعت بگذرانید.
pm2 restart [id] --watch
برای غیرفعال کردن تماشای پس از فعال شدن ، کافی است دوباره همان فرمان را دوباره اجرا کنید و تماشای آن غیرفعال می شود.
در این آموزش ، تماشا را خاموش خواهیم کرد.
اطمینان حاصل کنید که Nginx را نصب کرده اید. اگر به دلایلی چنین نیست ، مراحل فوق را رجوع کنید.
تنظیمات فایروال خود را تنظیم کنید. در اوبونتو ، ufw
فایروال رسمی است. به طور پیش فرض ، اتصالات در پورت مسدود می شوند 80
. ما باید برای Nginx استثنائی در پورت اضافه 80
کنیم که برنامه وب ما در آن اجرا خواهد شد.
sudo ufw allow 'Nginx HTTP'
تأیید کنید که سرور Nginx شما در حال اجرا است.
systemctl status nginx
در زیر Active
بخش ، اگر می بینید active (running)
، همه شما تنظیم شده اید. اگر اینطور نیست ، می توانید دوباره راه اندازی مجدد سرویس را امتحان کنید.
systemctl restart nginx
پرونده پیش فرض پیکربندی Nginx را حذف کنید.
sudo rm /etc/nginx/sites-available/default
یک مورد جدید ایجاد کنید و به راحتی آن را صدا کنید node
.
sudo nano /etc/nginx/sites-available/node
موارد زیر را در پرونده قرار دهید و example.com
دامنه وب سایت خود را جایگزین کنید.
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
توجه داشته باشید که proxy_pass
IP را نشان می دهد برنامه Keystone ما به صورت محلی در حال اجرا است که localhost
در پورت است 3000
. listen 80
بندری است که می خواهیم برنامه به آن هدایت شود که در این حالت پورت است 80
.
سپس ، باید پیوندی Symlink یا نمادین را به پوشه ای بنامیم sites-enabled
. تفاوت بین sites-enabled
و sites-available
این است که sites-enabled
در واقع توسط Nginx بارگذاری شده است.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
اکنون پرونده پیکربندی sites-available
شما آماده استفاده است ، و از آن بارگیری می شود sites-enabled
. برای استفاده از پیکربندی ، پس از اجرای آن ، به سادگی Nginx را مجدداً راه اندازی کنید.
sudo systemctl restart nginx
در آخر ، برنامه PM2 خود را مجدداً راه اندازی کنید
pm2 restart [id]
اکنون می توانید در یک مرورگر به دامنه خود بروید و Welcome to Keystone
صفحه ای را مشاهده می کنید که پنلی برای ورود به سیستم دارد.
اگر آن را مشاهده کردید ، با موفقیت یک سرور وب تولید Node.js را راه اندازی کرده اید. اگر اینگونه نباشد ، ممکن است شما یک قدم را نادرست انجام داده باشید ، و ممکن است بخواهید به عقب برگردید و هر مرحله را با دقت دنبال کنید.
با مراجعه به وب سایت آنها می توانید اطلاعات بیشتری در مورد Nginx کسب کنید .
امیدوارم از این آموزش لذت برده باشید و امیدوارم که این امر به شما کمک کرده باشد تا سرور وب خود را برای تولید در Vultr VPS خود تنظیم کنید.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.
با استفاده از یک سیستم متفاوت؟ BlogoText CMS یک سیستم مدیریت محتوا (CMS) ساده و سبک ، آزاد و متن باز است و موتور وبلاگ مینیمالیستی
Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد
با استفاده از یک سیستم متفاوت؟ PyroCMS یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع PyroCMS در GitHub میزبانی شده است. در این راهنما به خوبی از طریق Entir قدم بردارید
با استفاده از یک سیستم متفاوت؟ Backdrop CMS 1.8.0 یک سیستم مدیریت محتوا منبع باز و آزاد و متناسب با تلفن همراه ، رایگان و آزاد است که به ما اجازه می دهد
با استفاده از یک سیستم متفاوت؟ Pagekit 1.0 CMS یک سیستم زیبا و مدولار زیبا ، مدولار ، قابل تمدید و سبک ، آزاد و منبع باز منبع آزاد (CMS) با
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
با استفاده از یک سیستم متفاوت؟ اکتبر 1.0 CMS یک سیستم مدیریت محتوا (CMS) ساده و قابل اعتماد ، رایگان و منبع باز است که در چارچوب Laravel ساخته شده است
MODX یک سیستم مدیریت محتوای آزاد و منبع باز است که به زبان PHP نوشته شده است. از MySQL یا MariaDB برای ذخیره پایگاه داده خود استفاده می کند. MODX برای تجارت من طراحی شده است
با استفاده از یک سیستم متفاوت؟ Subrion 4.1 CMS یک سیستم مدیریت محتوای متن باز (CMS) قدرتمند و قابل انعطاف است که یک کانتینر بصری و واضح را به ارمغان می آورد.
با استفاده از یک سیستم متفاوت؟ WonderCMS یک فایل CMS با منبع آزاد ، سریع و کوچک است که به زبان PHP نوشته شده است. کد منبع WonderCMS در Github میزبانی شده است. این راهنما است
با استفاده از یک سیستم متفاوت؟ Pagekit 1.0 CMS یک سیستم زیبا و مدولار زیبا ، مدولار ، قابل تمدید و سبک ، آزاد و منبع باز منبع آزاد (CMS) با
با استفاده از یک سیستم متفاوت؟ Redaxscript 3.2 CMS یک سیستم مدرن و فوق العاده سبک ، رایگان و منبع باز منبع آزاد (CMS) با موشک-fas است
با استفاده از یک سیستم متفاوت؟ مقدمه Tiki Wiki CMS Groupware ، همچنین با عنوان Tiki شناخته می شود ، یک سیستم مدیریت محتوای ویکی آزاد و منبع باز است. ویژگی Tikis
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
با استفاده از یک سیستم متفاوت؟ Subrion 4.1 CMS یک سیستم مدیریت محتوای متن باز (CMS) قدرتمند و قابل انعطاف است که یک کانتینر بصری و واضح را به ارمغان می آورد.
با استفاده از یک سیستم متفاوت؟ مقدمه BoltWire یک سیستم مدیریت محتوای رایگان و سبک است که به زبان پی اچ پی نوشته شده است. در مقایسه با بسیاری دیگر از مدیران محتوا
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
با استفاده از یک سیستم متفاوت؟ BigTree CMS 4.2 یک سیستم مدیریت محتوای محتوا (CMS) سریع و سبک وزن ، آزاد و منبع آزاد است.
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد