Installera Plesk på CentOS 7
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Mastodon är en öppen källkodsserver för mikrobloggtjänst och sociala nätverk. Det ger Twitter liknande funktioner; men snarare än att kontrolleras av ett enda företag, är det en federation av decentraliserade servrar som ansluter tillsammans för att skapa ett helt system av sociala nätverk. Ett litet team kan starta sin Mastodon-serverinstans för att kommunicera sinsemellan såväl som med andra användare av den federerade gemenskapen. Det gör det också möjligt för dig att välja din egen integritets- och modereringspolicy och definiera hur du kommunicerar med andra användare av olika servrar. Innehållet som en enskild användare skapar och prenumererar på finns på servern där hans/hennes konto skapas. Användare kan följa varandra även om de inte finns på samma server. Varje användare i Mastodon-nätverket har sitt unika namn eller ID som finns i@[email protected]
formatera. Klientapplikationer för Mastodon finns tillgängliga för nästan alla plattformar.
Obs: Vi kommer att använda social.example.com
som domännamn som används för Mastodon-instansen. Ersätt alla förekomster av social.example.com
med ditt faktiska domännamn som du vill använda för din Mastodon-applikation .
Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 , om det behövs. När ditt system har uppdaterats fortsätter du med att installera de nödvändiga beroenden.
Mastodon kräver flera beroenden för att fungera. Installera den senaste versionen av Node.js
, som kommer att användas för att kompilera JavaScript-filerna.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs
Installera Yarn
, som är en snabb, pålitlig och säker applikation för beroendehanterare. Vi kommer att använda Yarn för att installera Node.js-beroenden.
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum -y install yarn
Installera Redis
. Redis är en applikation för lagrad datastruktur i minnet och cache.
sudo yum -y install redis
Starta Redis och låt den starta vid uppstart automatiskt.
sudo systemctl start redis
sudo systemctl enable redis
Installera ytterligare några beroenden som krävs för att bygga Ruby
installationen och andra beroenden.
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
Du måste också installera utvecklingsverktygen.
sudo yum -y groupinstall 'Development Tools'
PostgreSQL är ett relationsdatabassystem för objekt. Du måste lägga till PostgreSQL-förvaret till ditt system eftersom standardförvaret yum
innehåller en äldre version av programmet.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Installera PostgreSQL-databasservern.
sudo yum -y install postgresql96-server postgresql96-contrib postgresql96-devel
Initiera databasen.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Redigera pg_hba.conf
filen för att aktivera MD5
baserad autentisering.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Hitta följande rader och ändra peer
till trust
och ident
till 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
När den väl har uppdaterats bör konfigurationen se ut så här.
# 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
Starta PostgreSQL-servern och låt den starta vid uppstart automatiskt.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Ändra lösenordet för standardpostgreSQL-användaren.
sudo passwd postgres
Logga in på skalet som PostgreSQL
användare.
sudo su - postgres
Skapa en ny PostgreSQL
användare för Mastodon.
createuser mastodon
PostgreSQL tillhandahåller psql
skalet för att köra frågor på databasen. Byt till PostgreSQL-skalet genom att köra.
psql
Ange ett lösenord för den nyskapade användaren för Mastodon-databasen och ge tillstånd att lägga till nya databaser.
ALTER USER mastodon WITH ENCRYPTED password 'DBPassword' CREATEDB;
Ersätt DBPassword
med ett starkt lösenord. Utgång från psql
skalet:
\q
Växla till sudo
användaren.
exit
Installera ytterligare några nödvändiga PostgreSQL-beroenden.
sudo yum -y install libpqxx-devel protobuf-devel
Skapa en ny användare för Mastodon och byt till den nyskapade användaren.
sudo adduser mastodon -d /opt/mastodon
sudo su - mastodon
Vi kommer att installera den senaste versionen av Ruby med Ruby Version Manager, eller RVM. Den används för att installera och hantera flera versioner av Ruby.
Lägg till GPG
nyckeln för RVM till din server.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Installera RVM.
curl -sSL https://get.rvm.io | bash -s stable
source /opt/mastodon/.rvm/scripts/rvm
Hämta nu listan över tillgängliga versioner av Ruby.
rvm list known
Du kommer att se följande utdata.
[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
...
Installera nu den senaste versionen av Ruby från listan.
rvm install 2.4
Använd den installerade versionen av Ruby.
rvm use 2.4
Du bör kunna verifiera dess version.
ruby -v
Du bör se en liknande utgång.
[mastodon@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Installera bundler
, som är beroendehanteraren för Ruby-applikationen.
gem install bundler
Byt nu till hemmakatalogen för Mastodon-användaren och klona applikationsförvarsfilerna från Github.
cd ~
git clone https://github.com/tootsuite/mastodon.git app
Flytta applikationskatalogen och kolla in de senaste versionerna av applikationen.
cd ~/app
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
Konfigurera för bundle
att använda en anpassad sökväg för PostgreSQL-konfigurationen. Installera också Ruby-beroendena.
bundle config build.pg --with-pg-config=/usr/pgsql-9.6/bin/pg_config
bundle install --deployment --without development test
Installera Node.js-beroendena med Yarn.
yarn install --pure-lockfile
Du måste skapa en konfigurationsfil för Mastodon-applikationen. Kopiera exempel på konfigurationsfilen.
cd ~/app
cp .env.production.sample .env.production
Innan du redigerar filen, generera tre olika secrets
genom att köra följande kommando tre gånger. Du måste ställa in dessa hemligheter i konfigurationsfilen.
RAILS_ENV=production bundle exec rake secret
Du bör få en liknande utgång.
[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake secret
0f17dab1cf4a07f6fac671ecd5815adcb59d012b338dae9350c66402250c6c729dccd6182b1a8f75c4fde55453ce283ea66e07ed4466cdc6d4d6974c98512967
Redigera konfigurationsfilen med hjälp av nano
editorn.
nano .env.production
Hitta följande rader och ändra värdena därefter.
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
.
Låt oss kryptera certifikat går ut om 90 dagar, så det rekommenderas att ställa in automatisk förnyelse för certifikaten med Cron-jobb. Cron är en systemtjänst som används för att köra periodiska uppgifter.
Öppna cron-jobbfilen.
sudo crontab -e
Lägg till följande rad.
0 0 * * * /usr/bin/certbot renew --quiet
Ovanstående cron-jobb kommer att köras dagligen vid midnatt. Om certifikatet löper ut kommer det automatiskt att förnya certifikaten.
Skapa nu ett nytt Nginx-serverblock för Mastodon-webbplatsen.
sudo nano /etc/nginx/conf.d/mastodon.conf
Fyll filen med detta.
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;
}
Se till att ändra domännamnet och sökvägen till SSL-certifikaten.
Nu kan du starta Nginx-webbservern och aktivera den att starta automatiskt vid uppstart.
sudo systemctl start nginx
sudo systemctl enable nginx
Du kommer också att behöva tillåta port 4000
genom brandväggen eftersom porten kommer att tillhandahålla streaming-API-tjänsten.
sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload
Ange körrättigheter för Mastodon-katalogen.
sudo chmod +x /opt/mastodon
Du måste starta tre olika processer för att starta Mastodon-servern framgångsrikt. Användning av Systemd-tjänsten säkerställer att Mastodon-servern automatiskt startas vid uppstart och bearbetar fel.
Skapa en ny systemd tjänst för att köra Mastodons webbtjänst. Denna tjänst kommer att starta den inbyggda webbservern på port 3000
.
sudo nano /etc/systemd/system/mastodon-web.service
Fyll filen med följande innehåll.
[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
Skapa den andra Systemd-tjänsten för att köra Mastodon-bakgrundskötjänsten. Mastodons kötjänst tar hand om alla bakgrundsuppgifter.
sudo nano /etc/systemd/system/mastodon-queue.service
Fyll filen med följande innehåll.
[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
Slutligen, skapa den sista tjänstefilen för Mastodon streaming API-tjänst.
sudo nano /etc/systemd/system/mastodon-api.service
Fyll filen med följande innehåll.
[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
Aktivera Mastodon-tjänsterna att starta automatiskt vid uppstart.
sudo systemctl enable mastodon-web mastodon-queue mastodon-api
För att starta Mastodon-tjänsterna kan du köra detta.
sudo systemctl start mastodon-web mastodon-queue mastodon-api
För att kontrollera status för tjänsterna kan du köra detta.
sudo systemctl status mastodon-web mastodon-queue mastodon-api
Du kan nu komma åt Mastodon-applikationen genom att gå till https://social.example.com
. Skapa ett nytt användarkonto på din server och verifiera användarkontot genom att öppna länken som skickades i e-postmeddelandet. För att ge administratörsbehörighet till kontot du just skapade, kör detta.
sudo su - mastodon && cd ~/app
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=<user_name>
Ersätt <user_name>
med det faktiska användarnamnet du har använt för att skapa kontot i Mastodon-gränssnittet.
Din Mastodon-instans är nu installerad och konfigurerad att köras. Börja med att bjuda in dina vänner att gå med i din instans och utforska funktionerna som tillhandahålls av Mastodon. Du kan använda din sociala nätverkssida i mobilen genom att ladda ner någon av de applikationer som finns tillgängliga för olika plattformar.
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig
Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera
VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera
Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig
Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa
Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca
Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn
Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt
Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient
Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och
Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara
I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du
YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen
Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är
Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration
Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca
Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer