WordPress را در OpenBSD 6.2 نصب کنید
مقدمه WordPress سیستم مدیریت محتوای غالب در اینترنت است. این قدرت همه چیز را از بلاگ ها گرفته تا وب سایت های پیچیده و دارای محتوای پویا انجام می دهد
استفاده مشترک از سرور مجازی Vultr میزبانی وب سایت های وردپرس است. این راهنما به شما نشان می دهد که چگونه می توانید پیکربندی یک سرور مجازی را از ابتدا (با استفاده از Ansible) خودکار کنید و چندین وب سایت مستقل وردپرس مستقر کنید (با استفاده از Webmin / Virtualmin). Virtualmin / Webmin یک رابط کاربری گرافیکی است که به شما امکان می دهد استقرار چندین اکانت سرور مجازی را در همان دستگاه (کامل با پشته LAMP / LEMP) مدیریت کنید. Virtualmin بسیار شبیه cPanel و Plesk است و در این آموزش از نسخه رایگان GPL استفاده خواهیم کرد. بعد از راه اندازی اولیه سرور Vultr و نصب Virtualmin ، می توانید خیلی سریع چندین سرور مجازی را از درون رابط Virtualmin تنظیم کنید و به طور مستقیم وردپرس را بر روی آن سرور مجازی با نام دامنه خود کامل کنید.
در این آموزش ، به جای اینکه به صورت دستی وارد لیست طولانی دستورات شوید ، در عوض از Ansible استفاده خواهیم کرد. Ansible ابزاری برای اتوماسیون مبتنی بر پایتون است که به شما امکان می دهد وظایف سرور را به طور قابل اعتماد و مکرر خودکار کنید. این بدان معنی است که وقتی این آموزش را دنبال کردید ، می توانید فقط با چند دستور سرور دیگری را به همان روش مستقر کنید.
Ansible را روی دستگاه محلی یا سرور دیگری نصب کنید.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
با ورود به سرور خود از طریق SSH ، کارهای مطمئن انجام می شود. دسترسی به SSH امن تر است اگر ما از کلیدها به جای رمز عبور استفاده می کنیم. بیایید ابتدا یک جفت کلید عمومی و خصوصی تولید کنیم.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
در ssh_keys
دایرکتوری اکنون دو پرونده وجود دارد ، ssh_keys
و ssh_keys.pub
. ssh_keys
پرونده کلید خصوصی شماست و باید ایمن باشد. اکنون می توانید ssh_keys.pub
کلید عمومی را باز کنید.
وارد داشبورد وب Vultr شوید و کلیک کنید Deploy New Server
.
یک منطقه ، نوع سرور (اوبونتو 16.04) ، اندازه سرور و سپس در قسمت 6 ( SSH keys
) را انتخاب کنید Add New
. در صفحه بعد کلید عمومی خود را بچسبانید و نام آن را بگذارید ، کلیک کنید Add SSH key
. در آخر اطمینان حاصل کنید که کلید انتخاب شده است و کلیک کنید Deploy now
.
بعد از پایان کار ، سرور آدرس شما را نشان می دهد. باید وارد سرور DNS نام دامنه خود شوید و به این آدرس اشاره کنید.
پرونده های اتوماسیون Ansible نامیده می شوند roles
. ابتدا ساختار دایرکتوری (درون ansible
دایرکتوری که تازه در مرحله 1 ایجاد کرده اید) و فایل های اصلی را تنظیم خواهیم کرد.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
hosts
پرونده را ویرایش کنید تا حاوی موارد زیر باشد و ip address
سروری را که شما ایجاد کرده اید جایگزین کنید. Ansible از پایتون 2 استفاده می کند ، که اوبونتو 16.04 به طور پیش فرض آن را نصب نکرده است. در hosts
پرونده ما به Ansible می گوییم از پایتون 3 استفاده کنیم.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
deploy.yml
پرونده را ویرایش کنید تا شامل موارد زیر باشد. ما قصد داریم از root
کاربر استفاده کنیم .
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
/group_vars/all
پرونده را ویرایش کنید تا شامل موارد زیر باشد. این متغیرها به مکانهای کلیدهای SSH ، پارامترهای پرونده مبادله ، نام دامنه کاملاً واجد شرایط و رمز عبور root ، به Ansible می گویند. لطفاً به یاد داشته باشید که این پرونده را در کنترل منبع درج نکنید زیرا در متن واضح شامل رمزعبور خود است.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
common/handlers/main.yml
پرونده را ویرایش کنید تا شامل موارد زیر باشد.
- name: restart sshd
service: name=ssh state=restarted
اگر ما آن را به وظایف تقسیم کنیم ، درک خودکار از آن آسانتر است. بیایید برای هر یک از وظایف خود در فرآیند ، پرونده ایجاد کنیم.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
باید به هر پرونده حاوی دستورات Ansible اشاره کند ، بنابراین آن را ویرایش کنید تا شامل موارد زیر باشد.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
اولین قدم برای تنظیم سرور جدید ، بروزرسانی حافظه پنهان بارگذاری مجدد و تنظیم منطقه زمانی است. common/handlers/setup.yml
پرونده را ویرایش کنید تا شامل موارد زیر باشد.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
اکنون یک رمزعبور به کاربر روت داده می شویم (که به آن نیاز داریم تا به رابط وب مجازی دسترسی پیدا کنیم) ، اما ورود رمز عبور را از طریق SSH غیرفعال کنید (از آنجا که ما از روش تأیید اعتبار کلیدهای امن تر استفاده می کنیم). ویرایش کنید users.yml
تا شامل موارد زیر باشد.
- name: Change passwd
user: name=root password={{ new_password | password_hash('sha512') }} update_password=always
- name: Disable SSH password login
lineinfile: dest=/etc/ssh/sshd_config regexp="^#?PasswordAuthentication" line="PasswordAuthentication no"
notify: restart sshd
برای امنیت ، به فایروال نیاز داریم. ما از فایروال بدون عارضه استفاده خواهیم کرد تا به SSH اجازه دسترسی به پورت 22
، دسترسی به وب به درگاه 80
و دسترسی ایمن به وب درگاه را بدهیم 443
. ufw.yml
پرونده را ویرایش کنید تا شامل موارد زیر باشد.
- name: Set default firewall policy to deny all
become: True
ufw: state=enabled direction=incoming policy=deny
tags: firewall
- name: enable SSH in firewall
ufw: rule=allow port=22
sudo: yes
- name: enable HTTP connections for web server
ufw: rule=allow port=80
sudo: yes
- name: enable HTTPS connections for web server
ufw: rule=allow port=443
sudo: yes
- name: enable firewall
ufw: state=enabled
sudo: yes
در صورت اختیاری ، می توانید یک پرونده مبادله نیز درج کنید. این امر ضروری است اگر سرور شما کمتر از 2 گیگابایت رم داشته باشد تا از خرابی حافظه خودداری شود. ویرایش کنید swap.yml
تا شامل موارد زیر باشد.
- name: Set swap_file variable
set_fact:
swap_file: "{{swap_file_path}}"
tags:
- swap.set.file.path
- name: Check if swap file exists
stat:
path: "{{swap_file}}"
register: swap_file_check
tags:
- swap.file.check
- name: Create swap file
command: fallocate -l {{swap_file_size}} {{swap_file}}
when: not swap_file_check.stat.exists
tags:
- swap.file.create
- name: Change swap file permissions
file: path="{{swap_file}}"
owner=root
group=root
mode=0600
tags:
- swap.file.permissions
- name: Format swap file
sudo: yes
command: "mkswap {{swap_file}}"
when: not swap_file_check.stat.exists
tags:
- swap.file.mkswap
- name: Write swap entry in fstab
mount: name=none
src={{swap_file}}
fstype=swap
opts=sw
passno=0
dump=0
state=present
tags:
- swap.fstab
- name: Turn on swap
sudo: yes
command: swapon -a
when: not swap_file_check.stat.exists
tags:
- swap.turn.on
- name: Set swappiness
sudo: yes
sysctl:
name: vm.swappiness
value: "{{swappiness}}"
tags:
- swap.set.swappiness
Virtualmin پرونده نصب خود را دارد که توسط Ansible قابل بارگیری و اجرای آن است. در اینجا ما از حداقل نصب ( LINK
) استفاده می کنیم. موارد اضافی پیکربندی رمز عبور سرور MySQL است که هنگام نصب توسط Virtualmin تنظیم نشده است. ما باید قبل از تغییر رمز ورود ، MySQL را بطور موقت متوقف کنیم و فهرست تأیید اعتبار را اضافه کنیم. ویرایش کنید virtualmin.yml
تا شامل موارد زیر باشد.
- name: download virtualmin install script
get_url: >
url=http://software.virtualmin.com/gpl/scripts/install.sh
dest=/root/install.sh
mode=0755
- name: virtualmin install (takes around 10 mins) you can see progress using $ sudo tail -f /root/virtualmin-install.log
tags: non-idem
shell: ~/install.sh --force --hostname {{ hostname }} --minimal --yes
args:
chdir: /root
- name: temp stop mysql
service:
name: mysql
state: stopped
- name: change owner (and group) of mysqld dir
file:
path: "/var/run/mysqld"
state: directory
owner: mysql
group: mysql
- name: virtualmin set mysql password
shell: virtualmin set-mysql-pass --user root --pass {{ new_password }}
- name: restart mysql
service:
name: mysql
state: started
اکنون نقش Ansible به پایان رسیده است و ما آماده اعزام هستیم.
از پوشه ansible ، اکنون می توانیم دستور زیر را به سادگی اجرا کنیم ، و Ansible تمام کارهایی را که ایجاد کرده ایم به طور خودکار انجام می دهد. اولین باری که وصل می شوید ، یک هشدار کلیدی SSH دریافت می کنید ، " yes
" سریعاً تایپ کنید.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
اگر می خواهیم از سرور دیگری استفاده کنیم ، می توانیم به راحتی آدرس IP را در پرونده هاست تغییر داده و دوباره آن دستور را اجرا کنیم تا دقیقاً همان تنظیمات را تکمیل کنیم.
نصب کامل است و اکنون می توانیم به آن برویم https://192.0.2.1:10000
(از آدرس ip سرور شما استفاده کنید). مرورگر شما یک هشدار امنیتی را صادر می کند زیرا گواهی نامه به صورت خود امضا شده است ، بنابراین advanced
یک استثنا را کلیک کنید و اضافه کنید شما با یک صفحه ورود به سیستم به شما ارائه می دهیم نام کاربری است root
و رمز عبور همان شخصی است که group_vars/all
در مرحله 3 وارد پرونده می شوید. اولین باری که وارد Virtualmin می شوید با ویزارد بعد از نصب ارائه می شود. می توانید این تنظیمات را بصورت دستی طی کرده یا cancel
برای پذیرش پیش فرض کلیک کنید .
برای دریافت و راه اندازی اولین سرور وردپرس خود ، از داشبورد Virtualmin کلیک کنید Create Virtual Server
. باید یک نام دامنه ، توضیحات و رمز ورود سرپرستان وارد کنید. نام دامنه باید با نام دامنه کاملاً واجد شرایط Virtualmin متفاوت باشد ، و شما باید رکورد DNS را به آدرس IP سرور خود نشان دهید.
کلیک کنید Create Server
. پس از پایان کار Virtualmin ، ایجاد سرور خود ، روی Install Scripts
منوی سمت چپ کلیک کنید . را انتخاب کنید Wordpress
، کلیک کنید Show install options
و در صفحه زیر مکان نصب وردپرس را انتخاب کنید. فقط انتخاب At top level
و کلیک کنید Install Now
.
این تنها کاری است که شما باید انجام دهید - می توانید با مراجعه به آدرس خود http://example.net/wp-admin/install.php
(که example.net
این نام دامنه سرورهای مجازی کجاست ) نصب وردپرس را انجام دهید . اگر سوابق DNS شما هنوز پخش نشده اند می توانید Services > Preview Website
از منوی Virtualmin به آن بروید .
شما می توانید این مرحله را چندین بار تکرار کنید تا چندین سایت وردپرس همه در یک سرور Vultr ایجاد شود.
مقدمه WordPress سیستم مدیریت محتوای غالب در اینترنت است. این قدرت همه چیز را از بلاگ ها گرفته تا وب سایت های پیچیده و دارای محتوای پویا انجام می دهد
Ghost یک پلتفرم انتشار مدرن و منبع باز است که در Node.js با یک مشتری مدیر Ember.js ، یک API JSON و یک API با مضمون ساخته شده توسط Handlebars.js ساخته شده است. غوس
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از سال 201 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا کرده است
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از زمان انتشار 2013 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا می کند. من
با استفاده از یک سیستم متفاوت؟ Dotclear یک موتور بلاگ نویسی بسیار ساده است. منبع باز و آسان برای استفاده است. این آموزش از طریق نصب ادامه خواهد یافت
با استفاده از یک سیستم متفاوت؟ Fork یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Forks در GitHub میزبانی شده است. این راهنما نحوه نصب Fork CM را به شما نشان می دهد
Typesetter یک CMS منبع باز است که به زبان PHP نوشته شده است و بر سهولت استفاده با ویرایش True WYSIWYG و ذخیره سازی فایل های مسطح متمرکز است. در این مقاله ، ما نصب خواهیم کرد
Ghost جدیدترین و بزرگترین راهپیمایی وردپرس برای رقیب است. توسعه موضوع سریع و آسان برای یادگیری است زیرا توسعه دهندگان Ghost تصمیم گرفتند از هر دو استفاده کنند
با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوای سریع و انعطاف پذیر ، مقیاس پذیر ، متن باز است که به زبان PHP نوشته شده است. من
با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوا (CMS) سریع ، انعطاف پذیر ، مقیاس پذیر ، آزاد و منبع آزاد است.
با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوا (CMS) سریع ، انعطاف پذیر ، مقیاس پذیر ، آزاد و منبع آزاد است.
با استفاده از یک سیستم متفاوت؟ جکیل جایگزین خوبی برای وردپرس است. به هیچ پایگاه داده ای احتیاج ندارد و با زبانی کار می کند که بسیاری از آنها با شوخ طبعی آشنا هستند
مقدمه هرچه OpenBSD را نصب خود را به طور پیش فرض و بدون بسیاری از بسته های اضافه شده نزدیک تر کنید ، امنیت بیشتری خواهد داشت. در حالی که بیشتر
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از سال 201 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا کرده است
با استفاده از یک سیستم متفاوت؟ Fork یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Forks در GitHub میزبانی شده است. این راهنما نحوه نصب Fork CM را به شما نشان می دهد
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از زمان انتشار 2013 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا می کند. من
Neos یک سیستم مدیریت محتوای منبع باز است که برای ایجاد و ویرایش محتوای آنلاین عالی است. نئو با توجه به نویسندگان و سردبیران
با استفاده از یک سیستم متفاوت؟ Fork یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Forks در GitHub میزبانی شده است. این راهنما نحوه نصب Fork CM را به شما نشان می دهد
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از سال 201 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا کرده است
با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوا (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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد