نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
Leanote یک جایگزین رایگان ، سبک و منبع آزاد برای Evernote است که در Golang نوشته شده است. با توجه به تجربه کاربری کاربر ، Leanote بسیاری از ویژگی های عملی از جمله پشتیبانی از سیستم متقابل ، نوشتن به زبان نحوی MarkDown ، وبلاگ نویسی عمومی یا خصوصی ، جمع آوری دانش و اشتراک گذاری و همکاری تیم را در اختیار کاربران قرار می دهد.
در این مقاله ، شما را از طریق تنظیم سرور Leanote در نمونه سرور CentOS 7 راهنمایی می کنم. برای اهداف امنیتی ، امکان HTTPS support
استفاده از گواهینامه Let Encrypt SSL و Nginx نیز پوشش داده می شود.
203.0.113.1
.leanote
.leanote.example.com
که به عنوان مثال سرور ذکر شده در بالا نشان داده می شود.هنگام شلیک به عنوان مثال سرور جدید Vultr CentOS 7 ، همیشه توصیه می شود که یک فایل مبادله را تنظیم کنید تا اطمینان حاصل شود که این سیستم هموار کار نمی کند. به عنوان مثال ، ایجاد پرونده مبادله ای با اندازه 2048MB برای دستگاهی با حافظه 2 گیگابایتی مناسب است.
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
توجه: اگر از یک اندازه سرور متفاوت استفاده می کنید ، ممکن است نیاز به تغییر اندازه پرونده swap داشته باشید.
آخرین نسخه پایدار Leanote را برای سیستم 64 بیتی لینوکس بارگیری و استخراج کنید:
cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz
همانطور که توسط Leanote لازم است ، قبل از اینکه بتوانید با موفقیت یک سرور Leanote را راه اندازی کنید ، MongoDB NoSQL DBMS باید در محل باشد.
repo MongoDB 4.0 YUM را به شرح زیر ایجاد کنید:
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
تمام قطعات و ابزارهای MongoDB را با استفاده از repo MongoDB 4.0 YUM که قبلاً ایجاد شده است نصب کنید:
sudo yum install -y mongodb-org
به طور پیش فرض ، MongoDB 27017
هنگام کار از پورت استفاده می کند ، در صورتی که SELinux در enforcing
دستگاه CentOS 7 در حالت باشد ، مجاز نیست . برای تأیید حالت فعلی SELinux از دستور زیر استفاده کنید:
sudo getenforce
در نمونه سرور Vultr CentOS 7 ، SELinux به طور پیش فرض غیرفعال است. بنابراین خروجی دستور فوق:
Disabled
در این حالت ، می توانید دستورالعمل های زیر را برای پیکربندی SELinux جست و خیز کنید و حرکت کنید.
اما اگر نمونه اصلی سرور CentOS 7 را اجرا می کنید ، خروجی دستور فوق خواهد بود Enforcing
. قبل از شروع کار و فعال کردن سرویس MongoDB ، باید یکی از سه گزینه زیر را انجام دهید.
گزینه 1: به MongoDB اجازه دهید از 27017
پورت استفاده کند
sudo semanage port -a -t mongod_port_t -p tcp 27017
گزینه 2: SELinux را غیرفعال کنید
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
گزینه 3: SELinux را به permissive
حالت تغییر دهید
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
سرویس MongoDB را شروع کرده و پس از راه اندازی مجدد سیستم ، آن را شروع کنید:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
از دستورات زیر برای وارد کردن داده های اولیه Leanote به MongoDB استفاده کنید:
rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/
برای اهداف امنیتی ، شما باید کنترل دسترسی به MongoDB را درست بعد از به روزرسانی سرویس MongoDB فعال کنید. برای این منظور ، شما باید حداقل دو حساب کاربری MongoDB ایجاد کنید: یک حساب کاربری کاربر و یک حساب سرور بانک اطلاعاتی. همچنین باید تنظیمات MongoDB را تغییر دهید.
وارد پوسته MongoDB شوید:
mongo --host 127.0.0.1:27017
تغییر به admin
پایگاه داده:
use admin
یک سرور کاربر به نام خود ایجاد کنید useradmin
که از رمز عبور استفاده کند useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
توجه: مدیر کاربر useradmin
قرار است تمام کاربران MongoDB را مدیریت کند ، بنابراین انتخاب رمزعبور قوی است. البته یک نکته مطمئن تر برای جایگزین useradmin
کردن نام کاربری سخت پیش بینی شده است.
تغییر به leanote
پایگاه داده:
use leanote
یک سرور پایگاه داده به نام خود ایجاد کنید leanoteadmin
که از رمز عبور استفاده کند leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
توجه : باز هم توصیه می شود یک نام کاربری کمتر شناخته شده و رمز عبور سخت گیر را انتخاب کنید.
با ایجاد کاربران MongoDB می توانید نتایج را تأیید کنید:
use admin
db.auth("useradmin", "useradminpassword")
مدیر پایگاه داده را تأیید کنید:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
هر دو به 1
عنوان تأیید نتیجه می گیرند.
از پوسته MongoDB خارج شوید:
exit
برای فعال کردن کنترل دسترسی به MongoDB ، شما همچنین باید دو خط را به پرونده پیکربندی MongoDB اضافه کنید /etc/mongod.conf
، به شرح زیر:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
سرویس MongoDB را مجدداً اجرا کنید تا تغییرات به مرحله اجرا درآیند:
sudo systemctl restart mongod.service
از این پس ، فقط می توانید از دو حساب کاربری برای دسترسی و مدیریت MongoDB ، useradmin
برای مدیریت همه کاربران MongoDB و تنها leanoteadmin
برای مدیریت leanote
بانک اطلاعات استفاده کنید.
از فایل پیکربندی Leanote نسخه پشتیبان تهیه کنید /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
vi
برای باز کردن پرونده پیکربندی Leanote از ویرایشگر استفاده کنید:
vi app.conf
سطرهای زیر را یک به یک پیدا کنید:
site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
مطابق شکل زیر آنها را به ترتیب جایگزین کنید:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
توجه: برای اهداف امنیتی ، مقدار app.secret
پارامتر MUST باید یک رشته تصادفی 64 بیتی باشد که با نمونه اصلی متفاوت است. مطمئن شوید که مقدار را E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
با مقدار تصادفی 64 بیتی خود جایگزین کنید.
ذخیره نموده و خارج شوید:
:wq!
به منظور اجازه ترافیک ورودی TCP در درگاه ، قوانین فایروال را اصلاح کنید 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Leanote را با استفاده از اسکریپت رسمی شروع کنید:
cd /home/leanote/leanote/bin
bash run.sh
پس از مشاهده Listening on.. 0.0.0.0:9000
، مرورگر وب مورد علاقه خود را http://leanote.example.com:9000
برای شروع استفاده از سایت Leanote نشان دهید.
برای ورود به سیستم از حساب مدیر پیش فرض Leanote استفاده کنید:
admin
abc123
برای اهداف امنیتی ، باید رمزعبور پیش فرض را بلافاصله پس از ورود به سیستم تغییر دهید.
HTTPS
دسترسی را فعال کنیددر حال حاضر ، شما می توانید با استفاده از پروتکل HTTP ، یک پروتکل کمتر ایمن ، به سرور Leanote دسترسی پیدا کنید. به منظور بهبود امنیت سیستم ، می توانید HTTPS
با استفاده از گواهی Letry Encrypt SSL و پروکسی معکوس Nginx بر روی دستگاه خود را فعال کنید.
قبل از به دست آوردن گواهی نامه Let Encrypt SSL ، باید نام میزبان و FQDN را به درستی تنظیم کنید.
ابتدا ، CTRL+ را فشار دهید Cتا اسکریپت Leanote متوقف شود run.sh
.
بعد ، نام میزبان و FQDN را به شرح زیر تنظیم کنید:
sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF
شما همچنین می توانید نتایج را تأیید کنید:
hostname
hostname -f
ترافیک ورودی در بندر را مسدود کرده 9000
و اجازه ورود به ورودی در بنادر HTTP
و HTTPS
خدمات را فراهم کنید:
sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
برنامه Certbot را نصب کنید:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
برای گواهی Letry Encrypt SSL برای دامنه درخواست کنید leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
گواهی و زنجیره به شرح زیر ذخیره می شود:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
پرونده کلید خصوصی به شرح زیر ذخیره می شود:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
به طور پیش فرض ، گواهی Let Encrypt SSL طی سه ماه منقضی می شود. همانطور که در زیر نشان داده شده است ، می توانید یک کار cron را تنظیم کنید تا مجوزهای رمزگذاری شده خود را رمزگذاری کنید
sudo crontab -e
مطبوعات Iرا وارد کنید insert
حالت، و ورودی پس از آن خط های زیر است:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
ذخیره نموده و خارج شوید:
:wq!
این کار cron سعی خواهد کرد که گواهی Let Encrypt را هر روز ظهر تمدید کند.
Nginx را با استفاده از repo EPEL YUM نصب کنید:
sudo yum install -y nginx
برای Leanote یک پرونده پیکربندی ایجاد کنید:
cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name leanote.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name leanote.example.com;
ssl_certificate /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/leanote.example.com/privkey.pem;
# Proxy to the Leanote server
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:9000;
proxy_redirect http:// https://;
}
}
EOF
Nginx را دوباره اجرا کنید تا تغییرات خود را به مرحله اجرا برساند:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
تغییر site.url
تنظیمات در فایل پیکربندی Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
خط زیر را پیدا کنید:
site.url=http://leanote.example.com:9000
جایگزینش کن:
site.url=https://leanote.example.com
ذخیره نموده و خارج شوید:
:wq!
دوباره اسکریپت Leanote را اجرا کنید:
cd /home/leanote/leanote/bin
bash run.sh
اکنون ، مرورگر وب مورد علاقه خود را به آن اشاره کنید http://leanote.example.com/
و متوجه می شوید که HTTPS
پروتکل به طور خودکار فعال می شود. فقط admin
با گذرواژه جدیدی که قبلاً تنظیم کرده اید به عنوان کاربر وارد سیستم شوید یا حساب های کاربری جدیدی را برای همکاری تیم ثبت کنید.
مجدداً CTRL+ را فشار دهید Cتا اسکریپت Leanote متوقف شود. بعداً این اسکریپت را کم رنگ خواهیم کرد.
wkhtmltopdf
برنامه را نصب کنیدLeanote استفاده از این wkhtmltopdf
برنامه را برای صادر کردن صفحات HTML به عنوان فایلهای PDF انتخاب می کند. نصب wkhtmltopdf
:
cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf
فراموش نکنید که wkhtmltopdf
مسیر باینری را /usr/local/bin/wkhtmltopdf
در Export PDF
بخش در داشبورد سرور وب Leanote وقتی Leanote دوباره فعال شد ، ارسال کنید.
توجه: اگر در پرونده های PDF صادر شده کاراکترهای غیرقابل خواندن پیدا کردید ، می توانید با افزودن پرونده های فونت مورد نیاز به /usr/share/fonts/
دایرکتوری ، مشکل را برطرف کنید .
برای اینکه سایت Leanote خود را آنلاین نگه دارید ، می توانید از ابزار Supervisor برای شروع خودکار اسکریپت Leanote در صورت خرابی استفاده کنید.
سرپرست را با استفاده از YUM نصب کنید:
sudo yum install -y supervisor
یک .ini
فایل ناظر ساده برای Leanote ایجاد کنید:
cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF
سرویس Supervisor و سرویس Leanote را شروع کنید:
sudo supervisord -c /etc/supervisord.conf
وضعیت سرویس Leanote را تأیید کنید:
sudo supervisorctl status leanote
خروجی شبیه به موارد زیر خواهد بود:
leanote RUNNING pid 3707, uptime 0:02:36
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
مقدمه RethinkDB یک پایگاه داده NoSQL است که داده ها را به عنوان اسناد JSON ذخیره می کند. این یک زبان پرس و جو بسیار بصری است و از ویژگی های آن معمولا در دسترس است
Vtiger CRM یک نرم افزار محبوب مدیریت ارتباط با مشتری است که می تواند به بنگاهها در رشد فروش ، ارائه خدمات به مشتری و افزایش سود کمک کند. من
با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.
با استفاده از یک سیستم متفاوت؟ SonarQube یک ابزار منبع باز برای توسعه سیستم با کیفیت است. در جاوا نوشته شده است و چندین پایگاه داده را پشتیبانی می کند. فراهم می کند
با استفاده از یک سیستم متفاوت؟ Netdata یک ستاره در حال افزایش در زمینه نظارت بر معیارهای سیستم در زمان واقعی است. در مقایسه با سایر ابزارهای مشابه ، Netdata:
HTTP / 2 جدیدترین نسخه پروتکل HTTP است که از SPDY مستقر است. توسعه آن توسط Google آغاز شده است و HTTP / 2 تا حد زیادی بر اساس پایگاه کد است
با استفاده از یک سیستم متفاوت؟ در این آموزش ، Ill در مورد نحوه راه اندازی یک سرور Starbound در CentOS 7 توضیح می دهد. پیش نیازها: شما باید این بازی را روی خود داشته باشید
به یکی دیگر از آموزش های Vultr خوش آمدید. در اینجا ، نحوه نصب و اجرای سرور SAMP را یاد خواهید گرفت. این راهنما برای CentOS 6 نوشته شده است. پیش نیازهای مورد نیاز شما
با استفاده از یک سیستم متفاوت؟ Elgg یک موتور شبکه ای منبع باز است که امکان ایجاد محیط های اجتماعی از جمله شبکه های اجتماعی دانشگاه را فراهم می کند
RStudio Server نسخه وب RStudio است که مجموعه ای از ابزارهایی است که برای تسهیل کار برنامه نویسی با استفاده از زبان برنامه نویسی R طراحی شده است. در سه
Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد
Elasticsearch یک موتور جستجوی کامل و متن تحلیلی متن کامل است. به لطف تطبیق پذیری ، مقیاس پذیری و سهولت استفاده ، Elasticsearch گسترده تر است
بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود
با استفاده از یک سیستم متفاوت؟ مقدمه Sails.js یک چارچوب MVC ��رای Node.js است ، شبیه به Ruby on Rails. این امر برای ایجاد برنامه های مدرن ver
Vultrs عملکرد IP فضای شما را امکان پذیر می سازد تا آزادی بی سابقه ای در اختصاص منابع IP شخصی شما به سرورهای cloud Vultr داشته باشید. ما کلی
مقدمه در این آموزش ، PufferPanel را در Vultr VPS ما نصب کنید. PufferPanel یک پانل کنترل با منبع آزاد و بصورت رایگان برای مدیریت شما است
معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند
با استفاده از یک سیستم متفاوت؟ LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. از SNMP برای به دست آوردن داده ها از دستگاه های مختلف استفاده می کند. یک نوع
با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد