Nainstalujte Plesk na CentOS 7
Používáte jiný systém? Plesk je proprietární ovládací panel webového hostitele, který umožňuje uživatelům spravovat jejich osobní a/nebo klientské webové stránky, databáze
Mastodon je open source server pro mikroblogování a sociální sítě s vlastním hostitelem. Poskytuje funkce podobné Twitteru; ale spíše než aby byla řízena jedinou společností, je to federace decentralizovaných serverů, které se propojují, aby vytvořily celý systém sociálních sítí. Malý tým může spustit svou instanci serveru Mastodon a komunikovat mezi sebou i s ostatními uživateli federované komunity. Umožňuje vám také vybrat si vlastní zásady ochrany osobních údajů a moderování a definovat, jak komunikujete s ostatními uživateli různých serverů. Obsah, který jednotlivý uživatel vytváří a odebírá, je umístěn na serveru, kde je vytvořen jeho účet. Uživatelé se mohou navzájem sledovat, i když nejsou umístěni na stejném serveru. Každý uživatel v síti Mastodon má své jedinečné jméno nebo ID, které je v@[email protected]
formát. Klientské aplikace pro Mastodon jsou dostupné pro téměř všechny platformy.
Poznámka: Použijeme social.example.com
jako název domény použitý pro instanci Mastodon. Nahraďte všechny výskyty social.example.com
svého skutečného názvu domény, který chcete použít pro svou aplikaci Mastodon .
V případě potřeby aktualizujte svůj základní systém pomocí průvodce How to Update CentOS 7 . Jakmile bude váš systém aktualizován, pokračujte v instalaci požadovaných závislostí.
Mastodon vyžaduje několik závislostí, aby fungoval. Nainstalujte nejnovější verzi Node.js
, která bude použita ke kompilaci souborů JavaScript.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs
Install Yarn
, což je rychlá, spolehlivá a bezpečná aplikace pro správu závislostí. K instalaci závislostí Node.js použijeme Yarn.
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum -y install yarn
Nainstalujte Redis
. Redis je aplikace pro ukládání a mezipaměť datových struktur v paměti.
sudo yum -y install redis
Spusťte Redis a povolte jeho automatické spouštění při startu.
sudo systemctl start redis
sudo systemctl enable redis
Nainstalujte několik dalších závislostí, které jsou nutné k vytvoření Ruby
instalace a dalších závislostí.
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
Budete také muset nainstalovat vývojové nástroje.
sudo yum -y groupinstall 'Development Tools'
PostgreSQL je objektově relační databázový systém. Do systému budete muset přidat úložiště PostgreSQL, protože výchozí yum
úložiště obsahuje starší verzi aplikace.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Nainstalujte databázový server PostgreSQL.
sudo yum -y install postgresql96-server postgresql96-contrib postgresql96-devel
Inicializujte databázi.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Upravte pg_hba.conf
soubor tak, aby bylo možné povolit MD5
ověřování na základě.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Najděte následující řádky a změňte peer
na trust
a ident
na 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
Po aktualizaci by konfigurace měla vypadat takto.
# 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
Spusťte PostgreSQL server a povolte jeho automatické spouštění při startu.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Změňte heslo pro výchozího uživatele PostgreSQL.
sudo passwd postgres
Přihlaste se do shellu jako PostgreSQL
uživatel.
sudo su - postgres
Vytvořte nového PostgreSQL
uživatele pro Mastodon.
createuser mastodon
PostgreSQL poskytuje psql
prostředí pro spouštění dotazů na databázi. Spuštěním se přepněte do prostředí PostgreSQL.
psql
Nastavte heslo pro nově vytvořeného uživatele pro databázi Mastodon a poskytněte oprávnění k přidávání nových databází.
ALTER USER mastodon WITH ENCRYPTED password 'DBPassword' CREATEDB;
Nahraďte DBPassword
silným heslem. Výstup z psql
shellu:
\q
Přepnout na sudo
uživatele.
exit
Nainstalujte několik dalších požadovaných závislostí PostgreSQL.
sudo yum -y install libpqxx-devel protobuf-devel
Vytvořte nového uživatele pro Mastodon a přepněte na nově vytvořeného uživatele.
sudo adduser mastodon -d /opt/mastodon
sudo su - mastodon
Nejnovější verzi Ruby nainstalujeme pomocí Správce verzí Ruby neboli RVM. Používá se k instalaci a správě více verzí Ruby.
Přidejte GPG
klíč RVM na váš server.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Nainstalujte RVM.
curl -sSL https://get.rvm.io | bash -s stable
source /opt/mastodon/.rvm/scripts/rvm
Nyní načtěte seznam dostupných verzí Ruby.
rvm list known
Uvidíte následující výstup.
[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
...
Nyní nainstalujte nejnovější verzi Ruby ze seznamu.
rvm install 2.4
Použijte nainstalovanou verzi Ruby.
rvm use 2.4
Měli byste být schopni ověřit jeho verzi.
ruby -v
Měli byste vidět podobný výstup.
[mastodon@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Install bundler
, což je správce závislostí pro aplikaci Ruby.
gem install bundler
Nyní se přepněte do domovského adresáře uživatele Mastodon a naklonujte soubory úložiště aplikací z Github.
cd ~
git clone https://github.com/tootsuite/mastodon.git app
Move the application directory and checkout the latest releases of the application.
cd ~/app
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
Configure the bundle
to use a custom path for the PostgreSQL configuration. Also, install the Ruby dependencies.
bundle config build.pg --with-pg-config=/usr/pgsql-9.6/bin/pg_config
bundle install --deployment --without development test
Install the Node.js dependencies using Yarn.
yarn install --pure-lockfile
You will need to create a configuration file for the Mastodon application. Copy the sample configuration file.
cd ~/app
cp .env.production.sample .env.production
Before editing the file, generate three different secrets
by running the following command three times. You will need to set these secrets in the configuration file.
RAILS_ENV=production bundle exec rake secret
You should get a similar output.
[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake secret
0f17dab1cf4a07f6fac671ecd5815adcb59d012b338dae9350c66402250c6c729dccd6182b1a8f75c4fde55453ce283ea66e07ed4466cdc6d4d6974c98512967
Edit the configuration file using the nano
editor.
nano .env.production
Find the following lines and change the values accordingly.
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
Provide the database credentials, according to database user you have created during installation of PostgreSQL. Provide any name for database name as Mastodon will automatically create the database with the name you provide.
DB_HOST=127.0.0.1
DB_USER=mastodon
DB_NAME=mastodon
DB_PASS=DBPassword
DB_PORT=5432
Set the domain name of the application.
LOCAL_DOMAIN=social.example.com
Find the following lines and set its value to the secrets you have generated.
PAPERCLIP_SECRET=
SECRET_KEY_BASE=
OTP_SECRET=
Save the file and exit from the editor.
Now, run the following command to generate Web Push VAPID
keys. You will get an error while generating the Web Push VAPID keys if you have not set the secrets in the configuration file mentioned above.
RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key
You should see the following output.
[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=
Open the configuration file again and set the generated keys in their respective lines.
VAPID_PRIVATE_KEY=
VAPID_PUBLIC_KEY=
Finally, provide the information of your SMTP mail server so that the application can send emails to users. It is important that you use a working SMTP server as, upon new registration, users will be sent an email with an activation link. New users will have to click on the activation link to activate their account.
SMTP_SERVER=mail.example.com
SMTP_PORT=456
[email protected]
SMTP_PASSWORD=MailPassword
[email protected]
SMTP_TLS=true
Once done, save the file and exit from the editor. You have done the basic configuration of Mastodon instance.
Setup the PostgreSQL database for the first time.
RAILS_ENV=production bundle exec rails db:setup
First, the above command will create a new database with the name mentioned in the configuration. Then, it will write the database according to the configuration.
Precompile all CSS
and JavaScript
files to create the cache.
RAILS_ENV=production bundle exec rails assets:precompile
Mastodon is now installed on your server. Now you will need to setup an Nginx
web server to serve the application and setup Systemd
services to run the Mastodon services.
From now on, we will need to execute the commands using the sudo
user.
We will use the Nginx web server as a reverse proxy to serve the application to the users. We will also obtain and install SSL certificates from Let's Encrypt.
Install Nginx and Certbot. Certbot is the official certificates issuing client for Let's Encrypt CA.
sudo yum -y install nginx certbot
Adjust your firewall setting to allow the standard HTTP
and HTTPS
ports through the firewall as Certbot needs to make an HTTP connection for verifying the domain authority.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Note: To obtain certificates from Let's Encrypt CA, you must ensure that the domain for which you wish to generate the certificates is pointed towards the server. If not, then make the necessary changes to the DNS records of your domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Now use the builtin web server in Certbot to generate the certificates for your domain.
sudo certbot certonly --standalone -d social.example.com
The generated certificates are likely to be stored in the /etc/letsencrypt/live/social.example.com/
directory. The SSL certificate will be retained as fullchain.pem
and the private key will be saved as privkey.pem
.
Platnost certifikátů Let's Encrypt vyprší za 90 dní, proto se doporučuje nastavit automatické obnovování certifikátů pomocí úloh Cron. Cron je systémová služba, která se používá ke spouštění pravidelných úloh.
Otevřete soubor úlohy cron.
sudo crontab -e
Přidejte následující řádek.
0 0 * * * /usr/bin/certbot renew --quiet
Výše uvedená úloha cron bude probíhat denně o půlnoci. Pokud má platnost certifikátu vypršet, certifikáty se automaticky obnoví.
Nyní vytvořte nový blok serveru Nginx pro web Mastodon.
sudo nano /etc/nginx/conf.d/mastodon.conf
Naplňte soubor tímto.
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;
}
Nezapomeňte změnit název domény a cestu k certifikátům SSL.
Nyní můžete spustit webový server Nginx a povolit, aby se automaticky spustil při spuštění.
sudo systemctl start nginx
sudo systemctl enable nginx
Budete také muset povolit port 4000
přes bránu firewall, protože port bude poskytovat službu rozhraní API pro streamování.
sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload
Poskytněte oprávnění ke spuštění pro adresář Mastodon.
sudo chmod +x /opt/mastodon
Pro úspěšné spuštění serveru Mastodon budete muset spustit tři různé procesy. Použití služby Systemd zajistí, že se server Mastodon automaticky spustí při bootování a zpracuje selhání.
Vytvořte novou službu systemd pro spuštění webové služby Mastodon. Tato služba spustí vestavěný webový server na portu 3000
.
sudo nano /etc/systemd/system/mastodon-web.service
Naplňte soubor následujícím obsahem.
[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
Vytvořte druhou službu Systemd pro spuštění služby fronty na pozadí Mastodon. Služba fronty Mastodon se stará o všechny úkoly na pozadí.
sudo nano /etc/systemd/system/mastodon-queue.service
Naplňte soubor následujícím obsahem.
[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
Nakonec vytvořte poslední soubor služby pro službu Mastodon streaming API.
sudo nano /etc/systemd/system/mastodon-api.service
Naplňte soubor následujícím obsahem.
[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
Povolte automatické spouštění služeb Mastodon při spouštění.
sudo systemctl enable mastodon-web mastodon-queue mastodon-api
Chcete-li spustit služby Mastodon, můžete spustit toto.
sudo systemctl start mastodon-web mastodon-queue mastodon-api
Chcete-li zkontrolovat stav služeb, můžete spustit toto.
sudo systemctl status mastodon-web mastodon-queue mastodon-api
Nyní můžete přistupovat k aplikaci Mastodon na adrese https://social.example.com
. Vytvořte si na svém serveru nový uživatelský účet a ověřte uživatelský účet otevřením odkazu zaslaného v e-mailu. Chcete-li poskytnout oprávnění správce účtu, který jste právě vytvořili, spusťte toto.
sudo su - mastodon && cd ~/app
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=<user_name>
Nahraďte <user_name>
skutečným uživatelským jménem, které jste použili k vytvoření účtu v rozhraní Mastodon.
Vaše instance Mastodon je nyní nainstalována a nakonfigurována ke spuštění. Začněte tím, že pozvete své přátele, aby se připojili k vaší instanci a prozkoumali funkce poskytované Mastodonem. Svou stránku sociální sítě můžete používat v mobilu stažením kterékoli z aplikací dostupných pro různé platformy.
Používáte jiný systém? Plesk je proprietární ovládací panel webového hostitele, který umožňuje uživatelům spravovat jejich osobní a/nebo klientské webové stránky, databáze
Squid je populární bezplatný linuxový program, který vám umožňuje vytvořit webový proxy pro předávání. V této příručce uvidíte, jak nainstalovat Squid na CentOS, aby vás otočil
Úvod Lighttpd je fork Apache, jehož cílem je být mnohem méně náročný na zdroje. Je lehký, odtud jeho název, a jeho použití je docela jednoduché. Installin
VULTR nedávno provedl změny na jejich konci a vše by nyní mělo fungovat dobře po vybalení s povoleným NetworkManagerem. Pokud si přejete deaktivovat
Icinga2 je výkonný monitorovací systém a při použití v modelu master-client může nahradit potřebu monitorovacích kontrol založených na NRPE. Hlavní klient
Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou
Používáte jiný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je hostován na GitHubu. Tento průvodce vám to ukáže
Používáte jiný systém? Vanilla forum je open source aplikace fóra napsaná v PHP. Je plně přizpůsobitelný, snadno použitelný a podporuje externí
Používáte jiný systém? Mattermost je open source alternativa k zasílání zpráv Slack SAAS s vlastním hostitelem. Jinými slovy, s Mattermostem můžete ca
Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci
Ovládací panel Plesk se vyznačuje velmi pěknou integrací pro Lets Encrypt. Lets Encrypt je jedním z jediných poskytovatelů SSL, kteří rozdávají kompletní certifikáty
Lets Encrypt je certifikační autorita určená k bezplatnému poskytování certifikátů SSL. cPanel vytvořil úhlednou integraci, takže vy a váš klient
Používáte jiný systém? Concrete5 je open source CMS, který nabízí mnoho charakteristických a užitečných funkcí, které pomáhají editorům snadno vytvářet obsah
Používáte jiný systém? Review Board je bezplatný a open source nástroj pro kontrolu zdrojového kódu, dokumentace, obrázků a mnoha dalších. Je to webový software
V této příručce se dozvíte, jak nastavit HTTP ověřování pro webový server Nginx běžící na CentOS 7. Požadavky Chcete-li začít, budete potřebovat
YOURLS (Your Own URL Shortener) je open source aplikace pro zkracování adres URL a analýzu dat. V tomto článku se budeme zabývat procesem instalace
Používáte jiný systém? Úvod ArangoDB je open source databáze NoSQL s flexibilním datovým modelem pro dokumenty, grafy a páry klíč–hodnota. to je
Úvod Adresář /etc/ hraje kritickou roli ve způsobu fungování systému Linux. Důvodem je skutečnost, že téměř každá konfigurace systému
Mnoho systémových administrátorů spravuje velké množství serverů. Když je potřeba přistupovat k souborům přes různé servery, přihlaste se ke každému zvlášť ca
Tento návod pokryje proces instalace herního serveru Half Life 2 na systém CentOS 6. Krok 1: Instalace předpokladů Aby bylo možné nastavit ou
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více