วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
Mastodon เป็น microblogging แบบโอเพ่นซอร์สที่โฮสต์และเซิร์ฟเวอร์เครือข่ายสังคมออนไลน์ มันมีคุณสมบัติเช่นเดียวกับ Twitter; แต่แทนที่จะถูกควบคุมโดย บริษัท เดียวมันเป็นพันธมิตรของเซิร์ฟเวอร์กระจายอำนาจที่เชื่อมต่อกันเพื่อสร้างระบบเครือข่ายสังคมออนไลน์ทั้งหมด ทีมเล็ก ๆ สามารถเริ่มต้นเซิร์ฟเวอร์ Mastodon ของพวกเขาเพื่อสื่อสารระหว่างกันเช่นเดียวกับผู้ใช้รายอื่นของชุมชนรวม นอกจากนี้ยังช่วยให้คุณสามารถเลือกนโยบายความเป็นส่วนตัวและการกลั่นกรองของคุณเองและกำหนดวิธีการสื่อสารกับผู้ใช้อื่นของเซิร์ฟเวอร์ที่แตกต่างกัน เนื้อหาที่ผู้ใช้แต่ละรายสร้างและสมัครรับข้อมูลนั้นโฮสต์บนเซิร์ฟเวอร์ที่บัญชีของเขา / เธอถูกสร้างขึ้น ผู้ใช้สามารถติดตามกันได้แม้ว่าพวกเขาจะไม่ได้โฮสต์บนเซิร์ฟเวอร์เดียวกัน ผู้ใช้แต่ละคนในเครือข่าย Mastodon มีชื่อหรือ ID ที่ไม่ซ้ำกันซึ่งอยู่ใน@[email protected]
รูปแบบ. แอปพลิเคชันไคลเอนต์สำหรับ Mastodon พร้อมใช้งานสำหรับแพลตฟอร์มเกือบทั้งหมด
หมายเหตุ: เราจะใช้social.example.com
เป็นชื่อโดเมนที่ใช้สำหรับอินสแตนซ์ Mastodon แทนที่เกิดขึ้นทั้งหมดsocial.example.com
ด้วยชื่อโดเมนจริงที่คุณต้องการที่จะใช้สำหรับแอพลิเคชันของคุณสูญพันธุ์
อัปเดตระบบพื้นฐานของคุณโดยใช้คำแนะนำวิธีอัปเดต CentOS 7หากจำเป็น เมื่อระบบของคุณอัปเดตแล้วให้ดำเนินการติดตั้งการอ้างอิงที่ต้องการ
สูญพันธุ์ต้องสูญเสียการทำงานหลายอย่าง ติดตั้งเวอร์ชันล่าสุดNode.js
ซึ่งจะใช้ในการรวบรวมไฟล์ JavaScript
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs
ติดตั้งYarn
ซึ่งเป็นแอพพลิเคชั่นตัวจัดการการพึ่งพาที่รวดเร็วเชื่อถือได้และปลอดภัย เราจะใช้ Yarn เพื่อติดตั้งการพึ่งพา Node.js
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum -y install yarn
Redis
ติดตั้ง Redis เป็นที่เก็บโครงสร้างข้อมูลในหน่วยความจำและแอปพลิเคชันแคช
sudo yum -y install redis
เริ่ม Redis และเปิดใช้งานเพื่อเริ่มการบูทโดยอัตโนมัติ
sudo systemctl start redis
sudo systemctl enable redis
ติดตั้งการขึ้นต่ออีกสองสามครั้งซึ่งจำเป็นสำหรับการสร้างการRuby
ติดตั้งและการพึ่งพาอื่น ๆ
sudo yum -y install ImageMagick git libxml2-devel libxslt-devel gcc bzip2 openssl-devel zlib-devel gdbm-devel ncurses-devel autoconf automake bison gcc-c++ libffi-devel libtool patch readline-devel sqlite-devel glibc-headers glibc-devel libyaml-devel libicu-devel libidn-devel
คุณจะต้องติดตั้งเครื่องมือพัฒนา
sudo yum -y groupinstall 'Development Tools'
PostgreSQL เป็นระบบฐานข้อมูลเชิงวัตถุ คุณจะต้องเพิ่มที่เก็บ PostgreSQL ในระบบของคุณเนื่องจากที่yum
เก็บเริ่มต้นมีแอปพลิเคชันรุ่นเก่ากว่า
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL
sudo yum -y install postgresql96-server postgresql96-contrib postgresql96-devel
เริ่มต้นฐานข้อมูล
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
แก้ไขpg_hba.conf
ไฟล์เพื่อเปิดใช้งานการMD5
ตรวจสอบตาม
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
ค้นหาบรรทัดต่อไปนี้และการเปลี่ยนแปลงpeer
ไปtrust
และการident
md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
เมื่ออัปเดตแล้วการกำหนดค่าควรมีลักษณะเช่นนี้
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
เริ่มต้นเซิร์ฟเวอร์ PostgreSQL และเปิดใช้งานให้เริ่มการบู๊ตอัตโนมัติ
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
เปลี่ยนรหัสผ่านสำหรับผู้ใช้ PostgreSQL เริ่มต้น
sudo passwd postgres
ล็อกอินเข้าสู่เชลล์ในฐานะPostgreSQL
ผู้ใช้
sudo su - postgres
สร้างPostgreSQL
ผู้ใช้ใหม่สำหรับ Mastodon
createuser mastodon
PostgreSQL จัดเตรียมpsql
เชลล์เพื่อรันเคียวรีบนฐานข้อมูล สลับไปยังเชลล์ PostgreSQL โดยเรียกใช้
psql
ตั้งรหัสผ่านสำหรับผู้ใช้ที่สร้างขึ้นใหม่สำหรับฐานข้อมูล Mastodon และให้สิทธิ์ในการเพิ่มฐานข้อมูลใหม่
ALTER USER mastodon WITH ENCRYPTED password 'DBPassword' CREATEDB;
แทนที่DBPassword
ด้วยรหัสผ่านที่คาดเดายาก ออกจากpsql
เปลือก:
\q
เปลี่ยนเป็นsudo
ผู้ใช้
exit
ติดตั้งการขึ้นต่อกันของ PostgreSQL ที่จำเป็นเพิ่มเติม
sudo yum -y install libpqxx-devel protobuf-devel
สร้างผู้ใช้ใหม่สำหรับ Mastodon และเปลี่ยนเป็นผู้ใช้ที่สร้างขึ้นใหม่
sudo adduser mastodon -d /opt/mastodon
sudo su - mastodon
เราจะติดตั้ง Ruby เวอร์ชันล่าสุดโดยใช้ Ruby Version Manager หรือ RVM มันถูกใช้เพื่อติดตั้งและจัดการ Ruby หลายเวอร์ชัน
เพิ่มGPG
รหัสของ RVM ไปยังเซิร์ฟเวอร์ของคุณ
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
ติดตั้ง RVM
curl -sSL https://get.rvm.io | bash -s stable
source /opt/mastodon/.rvm/scripts/rvm
ตอนนี้ดึงรายชื่อรุ่นที่มีของ Ruby
rvm list known
คุณจะเห็นผลลัพธ์ต่อไปนี้
[mastodon@vultr ~]$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head
...
ตอนนี้ติดตั้ง Ruby เวอร์ชั่นล่าสุดจากรายการ
rvm install 2.4
ใช้ Ruby รุ่นที่ติดตั้งไว้
rvm use 2.4
คุณควรจะตรวจสอบเวอร์ชันของมัน
ruby -v
คุณควรเห็นผลลัพธ์ที่คล้ายกัน
[mastodon@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
ติดตั้งbundler
ซึ่งเป็นตัวจัดการการพึ่งพาสำหรับแอปพลิเคชัน Ruby
gem install bundler
ตอนนี้เปลี่ยนเป็นโฮมไดเรกทอรีของผู้ใช้ Mastodon และโคลนไฟล์ที่เก็บแอปพลิเคชันจาก Github
cd ~
git clone https://github.com/tootsuite/mastodon.git app
ย้ายไดเรกทอรีแอปพลิเคชันและเช็คเอาต์แอปพลิเคชั่นรุ่นล่าสุด
cd ~/app
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
กำหนดค่าการbundle
ใช้เส้นทางที่กำหนดเองสำหรับการกำหนดค่า PostgreSQL รวมถึงติดตั้ง Ruby dependencies
bundle config build.pg --with-pg-config=/usr/pgsql-9.6/bin/pg_config
bundle install --deployment --without development test
ติดตั้งการพึ่งพา Node.js โดยใช้ Yarn
yarn install --pure-lockfile
คุณจะต้องสร้างไฟล์กำหนดค่าสำหรับแอปพลิเคชัน Mastodon คัดลอกไฟล์การกำหนดค่าตัวอย่าง
cd ~/app
cp .env.production.sample .env.production
ก่อนที่จะแก้ไขไฟล์ให้สร้างสามแบบsecrets
ด้วยการรันคำสั่งต่อไปนี้สามครั้ง คุณจะต้องตั้งค่าความลับเหล่านี้ในไฟล์กำหนดค่า
RAILS_ENV=production bundle exec rake secret
คุณควรได้ผลลัพธ์ที่คล้ายกัน
[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake secret
0f17dab1cf4a07f6fac671ecd5815adcb59d012b338dae9350c66402250c6c729dccd6182b1a8f75c4fde55453ce283ea66e07ed4466cdc6d4d6974c98512967
แก้ไขไฟล์การกำหนดค่าโดยใช้nano
โปรแกรมแก้ไข
nano .env.production
ค้นหาบรรทัดต่อไปนี้และเปลี่ยนค่าให้สอดคล้อง
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
จัดเตรียมหนังสือรับรองฐานข้อมูลตามผู้ใช้ฐานข้อมูลที่คุณสร้างขึ้นระหว่างการติดตั้ง PostgreSQL ระบุชื่อใด ๆ สำหรับชื่อฐานข้อมูลเนื่องจาก Mastodon จะสร้างฐานข้อมูลโดยอัตโนมัติด้วยชื่อที่คุณให้
DB_HOST=127.0.0.1
DB_USER=mastodon
DB_NAME=mastodon
DB_PASS=DBPassword
DB_PORT=5432
ตั้งค่าชื่อโดเมนของแอปพลิเคชัน
LOCAL_DOMAIN=social.example.com
ค้นหาบรรทัดต่อไปนี้และตั้งค่าเป็นความลับที่คุณสร้างขึ้น
PAPERCLIP_SECRET=
SECRET_KEY_BASE=
OTP_SECRET=
บันทึกไฟล์และออกจากตัวแก้ไข
ตอนนี้รันคำสั่งต่อไปนี้เพื่อสร้างWeb Push VAPID
คีย์ คุณจะได้รับข้อผิดพลาดขณะสร้างคีย์ Web Push VAPID หากคุณยังไม่ได้ตั้งค่าความลับในไฟล์กำหนดค่าที่กล่าวถึงข้างต้น
RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key
คุณควรเห็นผลลัพธ์ต่อไปนี้
[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key
VAPID_PRIVATE_KEY=DCMQdSPkdm-mepsNh4F3suc-UIvsABCvwFd03jSVemM=
VAPID_PUBLIC_KEY=BMMVcVXmqnV0C8S_ybZ7eQH-MXBEX2exqfdPSYQiMMUF2rRxfhoEtVF931i26ebMgmslHB_nvVadOdcBPhaFEjw=
เปิดไฟล์การกำหนดค่าอีกครั้งและตั้งค่าคีย์ที่สร้างในบรรทัดที่เกี่ยวข้อง
VAPID_PRIVATE_KEY=
VAPID_PUBLIC_KEY=
สุดท้ายให้ข้อมูลของเซิร์ฟเวอร์อีเมล SMTP ของคุณเพื่อให้แอปพลิเคชันสามารถส่งอีเมลไปยังผู้ใช้ สิ่งสำคัญคือคุณต้องใช้เซิร์ฟเวอร์ SMTP ที่ใช้งานได้เนื่องจากผู้ใช้จะได้รับอีเมลพร้อมลิงก์การเปิดใช้งานเมื่อลงทะเบียนใหม่ ผู้ใช้ใหม่จะต้องคลิกที่ลิงค์การเปิดใช้งานเพื่อเปิดใช้งานบัญชีของพวกเขา
SMTP_SERVER=mail.example.com
SMTP_PORT=456
[email protected]
SMTP_PASSWORD=MailPassword
[email protected]
SMTP_TLS=true
เมื่อเสร็จแล้วให้บันทึกไฟล์และออกจากโปรแกรมแก้ไข คุณได้กำหนดค่าพื้นฐานของอินสแตนซ์ Mastodon แล้ว
ตั้งค่าฐานข้อมูล PostgreSQL เป็นครั้งแรก
RAILS_ENV=production bundle exec rails db:setup
ขั้นแรกคำสั่งด้านบนจะสร้างฐานข้อมูลใหม่ด้วยชื่อที่กล่าวถึงในการกำหนดค่า จากนั้นมันจะเขียนฐานข้อมูลตามการกำหนดค่า
เตรียมคอมไพล์CSS
และJavaScript
ไฟล์ทั้งหมดเพื่อสร้างแคช
RAILS_ENV=production bundle exec rails assets:precompile
ติดตั้ง Mastodon บนเซิร์ฟเวอร์ของคุณแล้ว ตอนนี้คุณจะต้องตั้งค่าNginx
เว็บเซิร์ฟเวอร์เพื่อให้บริการแอพพลิเคชั่นและSystemd
บริการติดตั้งเพื่อใช้บริการ Mastodon
จากนี้ไปเราจะต้องดำเนินการคำสั่งโดยใช้sudo
ผู้ใช้
เราจะใช้เว็บเซิร์ฟเวอร์ Nginx เป็น reverse proxy เพื่อให้บริการแก่ผู้ใช้ นอกจากนี้เรายังจะได้รับและติดตั้งใบรับรอง SSL จาก Let's Encrypt
ติดตั้ง Nginx และ Certbot Certbot เป็นลูกค้าออกใบรับรองอย่างเป็นทางการสำหรับ Let's Encrypt CA
sudo yum -y install nginx certbot
ปรับการตั้งค่าไฟร์วอลล์ของคุณเพื่ออนุญาตมาตรฐานHTTP
และHTTPS
พอร์ตผ่านไฟร์วอลล์เนื่องจาก Certbot จำเป็นต้องทำการเชื่อมต่อ HTTP เพื่อตรวจสอบสิทธิ์ของโดเมน
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
หมายเหตุ: ในการรับใบรับรองจาก Let's Encrypt CA คุณต้องตรวจสอบให้แน่ใจว่าโดเมนที่คุณต้องการสร้างใบรับรองนั้นชี้ไปที่เซิร์ฟเวอร์ ถ้าไม่เช่นนั้นให้ทำการเปลี่ยนแปลงที่จำเป็นในระเบียน DNS ของโดเมนของคุณและรอให้ DNS เผยแพร่ก่อนทำการขอใบรับรองอีกครั้ง Certbot ตรวจสอบผู้มีอำนาจโดเมนก่อนที่จะให้ใบรับรอง
ตอนนี้ใช้เว็บเซิร์ฟเวอร์ในตัวใน Certbot เพื่อสร้างใบรับรองสำหรับโดเมนของคุณ
sudo certbot certonly --standalone -d social.example.com
ใบรับรองที่สร้างขึ้นมีแนวโน้มที่จะถูกเก็บไว้ใน/etc/letsencrypt/live/social.example.com/
ไดเรกทอรี ใบรับรอง SSL จะถูกเก็บไว้เป็นและคีย์ส่วนตัวจะถูกบันทึกเป็นfullchain.pem
privkey.pem
ลองเข้ารหัสใบรับรองหมดอายุใน 90 วันดังนั้นขอแนะนำให้ตั้งค่าการต่ออายุอัตโนมัติสำหรับใบรับรองที่ใช้งาน Cron Cron เป็นบริการระบบที่ใช้ในการทำงานเป็นระยะ
เปิดไฟล์งาน cron
sudo crontab -e
เพิ่มบรรทัดต่อไปนี้
0 0 * * * /usr/bin/certbot renew --quiet
งาน cron ข้างต้นจะทำงานทุกวันเวลาเที่ยงคืน หากใบรับรองหมดอายุเนื่องจากหมดอายุใบรับรองจะต่ออายุโดยอัตโนมัติ
ตอนนี้สร้างบล็อกเซิร์ฟเวอร์ Nginx ใหม่สำหรับไซต์ Mastodon
sudo nano /etc/nginx/conf.d/mastodon.conf
เติมไฟล์ด้วยสิ่งนี้
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
listen [::]:80;
server_name social.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name social.example.com;
ssl_protocols TLSv1.2;
ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_certificate /etc/letsencrypt/live/social.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/social.example.com/privkey.pem;
keepalive_timeout 70;
sendfile on;
client_max_body_size 0;
root /opt/mastodon/app/public;
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
add_header Strict-Transport-Security "max-age=31536000";
location / {
try_files $uri @proxy;
}
location ~ ^/(emoji|packs|system/accounts/avatars|system/media_attachments/files) {
add_header Cache-Control "public, max-age=31536000, immutable";
try_files $uri @proxy;
}
location @proxy {
proxy_set_header Host $host;
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 Proxy "";
proxy_pass_header Server;
proxy_pass http://127.0.0.1:3000;
proxy_buffering off;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
tcp_nodelay on;
}
location /api/v1/streaming {
proxy_set_header Host $host;
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 Proxy "";
proxy_pass http://127.0.0.1:4000;
proxy_buffering off;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
tcp_nodelay on;
}
error_page 500 501 502 503 504 /500.html;
}
ต้องแน่ใจว่าได้เปลี่ยนชื่อโดเมนและเส้นทางไปยังใบรับรอง SSL
ตอนนี้คุณสามารถเริ่มเว็บเซิร์ฟเวอร์ Nginx และเปิดใช้งานเพื่อเริ่มการบูทอัตโนมัติ
sudo systemctl start nginx
sudo systemctl enable nginx
คุณจะต้องอนุญาตให้พอร์ต4000
ผ่านไฟร์วอลล์เนื่องจากพอร์ตจะให้บริการสตรีมมิ่ง API
sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload
ให้สิทธิ์การดำเนินการสำหรับไดเรกทอรี Mastodon
sudo chmod +x /opt/mastodon
คุณจะต้องเริ่มกระบวนการที่แตกต่างกันสามกระบวนการเพื่อเริ่มต้นเซิร์ฟเวอร์ Mastodon ได้สำเร็จ การใช้บริการ Systemd จะช่วยให้มั่นใจได้ว่าเซิร์ฟเวอร์ Mastodon จะเริ่มต้นโดยอัตโนมัติเมื่อบูตและกระบวนการล้มเหลว
สร้างบริการ systemd ใหม่เพื่อเรียกใช้บริการเว็บ Mastodon 3000
บริการนี้จะเปิดตัวในเว็บเซิร์ฟเวอร์บนพอร์ต
sudo nano /etc/systemd/system/mastodon-web.service
เติมไฟล์ด้วยเนื้อหาต่อไปนี้
[Unit]
Description=Mastodon Web Service
After=network.target
[Service]
Type=simple
User=mastodon
Group=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="RAILS_ENV=production"
Environment="PORT=3000"
ExecStart=/bin/bash -lc 'bundle exec puma -C config/puma.rb'
TimeoutSec=15
Restart=always
[Install]
WantedBy=multi-user.target
สร้างบริการ Systemd ที่สองเพื่อเรียกใช้บริการคิวพื้นหลัง Mastodon บริการคิว Mastodon จะดูแลภารกิจเบื้องหลังทั้งหมด
sudo nano /etc/systemd/system/mastodon-queue.service
เติมไฟล์ด้วยเนื้อหาต่อไปนี้
[Unit]
Description=Mastodon Queue Service
After=network.target
[Service]
Type=simple
User=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="RAILS_ENV=production"
Environment="DB_POOL=5"
ExecStart=/bin/bash -lc 'bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push'
TimeoutSec=15
Restart=always
[Install]
WantedBy=multi-user.target
สุดท้ายให้สร้างไฟล์บริการสุดท้ายสำหรับบริการ Mastodon API API
sudo nano /etc/systemd/system/mastodon-api.service
เติมไฟล์ด้วยเนื้อหาต่อไปนี้
[Unit]
Description=Mastodon Streaming
After=network.target
[Service]
Type=simple
User=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="NODE_ENV=production"
Environment="PORT=4000"
ExecStart=/bin/npm run start
TimeoutSec=15
Restart=always
[Install]
WantedBy=multi-user.target
เปิดใช้งานบริการ Mastodon เพื่อเริ่มต้นในเวลาบูตโดยอัตโนมัติ
sudo systemctl enable mastodon-web mastodon-queue mastodon-api
ในการเริ่มบริการ Mastodon คุณสามารถเรียกใช้บริการนี้ได้
sudo systemctl start mastodon-web mastodon-queue mastodon-api
ในการตรวจสอบสถานะของบริการคุณสามารถเรียกใช้สิ่งนี้ได้
sudo systemctl status mastodon-web mastodon-queue mastodon-api
https://social.example.com
ตอนนี้คุณสามารถเข้าถึงแอปพลิเคสูญพันธุ์โดยไปที่ สร้างบัญชีผู้ใช้ใหม่บนเซิร์ฟเวอร์ของคุณและตรวจสอบบัญชีผู้ใช้โดยเปิดลิงก์ที่ส่งในอีเมล หากต้องการมอบสิทธิ์ผู้ดูแลระบบให้กับบัญชีที่คุณเพิ่งสร้างขึ้น
sudo su - mastodon && cd ~/app
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=<user_name>
แทนที่<user_name>
ด้วยชื่อผู้ใช้จริงที่คุณใช้ในการสร้างบัญชีในส่วนต่อประสานกับ Mastodon
อินสแตนซ์ Mastodon ของคุณได้รับการติดตั้งและกำหนดค่าให้ทำงานแล้ว เริ่มต้นด้วยการเชิญเพื่อนของคุณให้เข้าร่วมอินสแตนซ์ของคุณและสำรวจคุณสมบัติที่ Mastodon จัดหาให้ คุณสามารถใช้เว็บไซต์เครือข่ายสังคมของคุณในมือถือโดยดาวน์โหลดแอปพลิเคชันใด ๆ ที่มีให้สำหรับแพลตฟอร์มต่าง ๆ
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
TestLink เป็นระบบดำเนินการจัดการทดสอบบนเว็บโอเพ่นซอร์ส ช่วยให้ทีมงานประกันคุณภาพสามารถสร้างและจัดการกรณีทดสอบได้เช่นกัน
FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ
CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม
ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น
ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย
ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์
Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o
Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE ปรมาจารย์
ใช้ระบบที่แตกต่างกันอย่างไร Netdata เป็นดาวรุ่งพุ่งแรงในด้านการติดตามการวัดในระบบแบบเรียลไทม์ เมื่อเปรียบเทียบกับเครื่องมือชนิดเดียวกัน Netdata:
Buildbot เป็นโอเพ่นซอร์สเครื่องมือที่ใช้การรวมอย่างต่อเนื่องของ Python สำหรับการสร้างซอฟต์แวร์การทดสอบและการปรับใช้โดยอัตโนมัติ Buildbot ประกอบด้วยหนึ่งหรือหมอ
ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง
แอปพลิเคชั่น dotProject เป็นเครื่องมือการจัดการโครงการแบบโอเพ่นซอร์สบนเว็บ สำหรับตอนนี้มันวางจำหน่ายภายใต้ GPL ดังนั้นคุณสามารถปรับใช้และใช้งานได้บนบริการของคุณ
ใช้ระบบที่แตกต่างกันอย่างไร TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องมาจาก
ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade
ใช้ระบบที่แตกต่างกันอย่างไร Kanboard เป็นซอฟต์แวร์ซอฟต์แวร์การจัดการโครงการโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่ออำนวยความสะดวกและมองเห็นภาพการทำงานเป็นทีม
บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou
GlusterFS เป็นระบบไฟล์ที่เชื่อมต่อกับเครือข่ายซึ่งช่วยให้คุณแบ่งปันไดรฟ์สองตัวในอุปกรณ์หลายตัวบนเครือข่ายได้อย่างมีประสิทธิภาพ ระบบไฟล์นี้คือ
ใช้ระบบที่แตกต่างกันอย่างไร ในขณะที่การโยกย้ายเว็บไซต์มักจะไม่มีปัญหาบางครั้งก็ยากที่จะโยกย้ายกล่องอีเมล นี่คือ CAS โดยเฉพาะอย่างยิ่ง
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์
เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true