Installer Plesk på CentOS 7
Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser
Mastodon er en open source-selvhostet mikroblogging- og sociale netværksserver. Det giver Twitter lignende funktioner; men i stedet for at blive kontrolleret af et enkelt firma, er det en sammenslutning af decentraliserede servere, der forbinder sammen for at skabe et helt system af socialt netværk. Et lille team kan starte deres Mastodon-serverinstans for at kommunikere indbyrdes såvel som med de andre brugere af det fødererede fællesskab. Det giver dig også mulighed for at vælge dine egne privatlivs- og moderationspolitikker og definere, hvordan du kommunikerer med andre brugere af forskellige servere. Det indhold, som en individuel bruger opretter og abonnerer på, hostes på den server, hvor hans/hendes konto er oprettet. Brugere kan følge hinanden, selvom de ikke er hostet på samme server. Hver bruger i Mastodon-netværket har sit unikke navn eller ID, som er i@[email protected]
format. Klientapplikationer til Mastodon er tilgængelige for næsten alle platforme.
Bemærk: Vi vil bruge social.example.com
som domænenavn, der bruges til Mastodon-forekomsten. Erstat alle forekomster af social.example.com
med dit faktiske domænenavn, du vil bruge til din Mastodon-applikation .
Opdater dit basissystem ved hjælp af guiden Sådan opdaterer du CentOS 7 , hvis det er nødvendigt. Når dit system er blevet opdateret, skal du fortsætte med at installere de nødvendige afhængigheder.
Mastodon kræver flere afhængigheder for at fungere. Installer den seneste version af Node.js
, som vil blive brugt til at kompilere JavaScript-filerne.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs
Installer Yarn
, som er en hurtig, pålidelig og sikker afhængighedshåndteringsapplikation. Vi vil bruge Yarn til at installere Node.js-afhængighederne.
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum -y install yarn
Installer Redis
. Redis er et datastrukturlager og cacheapplikation i hukommelsen.
sudo yum -y install redis
Start Redis og aktiver den til automatisk at starte ved opstart.
sudo systemctl start redis
sudo systemctl enable redis
Installer et par flere afhængigheder, som er nødvendige for at bygge Ruby
installationen og andre afhængigheder.
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 skal også installere udviklingsværktøjerne.
sudo yum -y groupinstall 'Development Tools'
PostgreSQL er et objektrelationsdatabasesystem. Du bliver nødt til at tilføje PostgreSQL-lageret til dit system, da standardlageret yum
indeholder en ældre version af applikationen.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Installer PostgreSQL-databaseserveren.
sudo yum -y install postgresql96-server postgresql96-contrib postgresql96-devel
Initialiser databasen.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Rediger pg_hba.conf
filen for at aktivere MD5
baseret godkendelse.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Find følgende linjer og skift peer
til trust
og ident
til 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 er opdateret, skal konfigurationen se sådan ud.
# 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
Start PostgreSQL-serveren og sæt den i stand til automatisk at starte ved opstart.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Skift adgangskoden til standard PostgreSQL-brugeren.
sudo passwd postgres
Log ind på shellen som PostgreSQL
bruger.
sudo su - postgres
Opret en ny PostgreSQL
bruger til Mastodon.
createuser mastodon
PostgreSQL leverer psql
skallen til at køre forespørgsler på databasen. Skift til PostgreSQL-skallen ved at køre.
psql
Indstil en adgangskode for den nyoprettede bruger til Mastodon-databasen og giv tilladelse til at tilføje nye databaser.
ALTER USER mastodon WITH ENCRYPTED password 'DBPassword' CREATEDB;
Erstat DBPassword
med en stærk adgangskode. Udgang fra psql
skallen:
\q
Skift til sudo
brugeren.
exit
Installer nogle flere påkrævede PostgreSQL-afhængigheder.
sudo yum -y install libpqxx-devel protobuf-devel
Opret en ny bruger til Mastodon og skift til den nyoprettede bruger.
sudo adduser mastodon -d /opt/mastodon
sudo su - mastodon
Vi installerer den seneste version af Ruby ved hjælp af Ruby Version Manager eller RVM. Det bruges til at installere og administrere flere versioner af Ruby.
Tilføj GPG
nøglen til RVM til din server.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Installer RVM.
curl -sSL https://get.rvm.io | bash -s stable
source /opt/mastodon/.rvm/scripts/rvm
Hent nu listen over de tilgængelige versioner af Ruby.
rvm list known
Du vil se følgende output.
[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
...
Installer nu den seneste version af Ruby fra listen.
rvm install 2.4
Brug den installerede version af Ruby.
rvm use 2.4
Du burde være i stand til at verificere dens version.
ruby -v
Du bør se et lignende output.
[mastodon@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Installer bundler
, som er afhængighedshåndteringen for Ruby-applikationen.
gem install bundler
Skift nu til Mastodon-brugerens hjemmemappe, og klon applikationsopbevaringsfilerne fra 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
.
Lad os kryptere certifikater udløber om 90 dage, så det anbefales at konfigurere automatisk fornyelse for certifikaterne ved hjælp af Cron-job. Cron er en systemtjeneste, som bruges til at køre periodiske opgaver.
Åbn cron-jobfilen.
sudo crontab -e
Tilføj følgende linje.
0 0 * * * /usr/bin/certbot renew --quiet
Ovenstående cron-job vil køre dagligt ved midnat. Hvis certifikatet skal udløbe, vil det automatisk forny certifikaterne.
Opret nu en ny Nginx-serverblok til Mastodon-webstedet.
sudo nano /etc/nginx/conf.d/mastodon.conf
Udfyld filen med dette.
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;
}
Sørg for at ændre domænenavnet og stien til SSL-certifikaterne.
Nu kan du starte Nginx-webserveren og aktivere den til automatisk at starte ved opstart.
sudo systemctl start nginx
sudo systemctl enable nginx
Du vil også blive bedt om at tillade port 4000
gennem firewallen, da porten vil levere streaming API-tjenesten.
sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload
Angiv udførelsestilladelserne til Mastodon-biblioteket.
sudo chmod +x /opt/mastodon
Du skal starte tre forskellige processer for at starte Mastodon-serveren med succes. Brug af Systemd-tjenesten vil sikre, at Mastodon-serveren automatisk startes ved opstart og behandler fejl.
Opret en ny systemd service til at køre Mastodon webservice. Denne tjeneste vil starte den indbyggede webserver på port 3000
.
sudo nano /etc/systemd/system/mastodon-web.service
Udfyld filen med følgende indhold.
[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
Opret den anden Systemd-tjeneste for at køre Mastodon-baggrundskøtjenesten. Mastodon køtjeneste tager sig af alle baggrundsopgaverne.
sudo nano /etc/systemd/system/mastodon-queue.service
Udfyld filen med følgende indhold.
[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
Til sidst skal du oprette den sidste servicefil til Mastodon streaming API-tjenesten.
sudo nano /etc/systemd/system/mastodon-api.service
Udfyld filen med følgende indhold.
[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
Aktiver Mastodon-tjenesterne til at starte ved opstart automatisk.
sudo systemctl enable mastodon-web mastodon-queue mastodon-api
For at starte Mastodon-tjenesterne kan du køre dette.
sudo systemctl start mastodon-web mastodon-queue mastodon-api
For at tjekke status for tjenesterne kan du køre dette.
sudo systemctl status mastodon-web mastodon-queue mastodon-api
Du kan nu få adgang til Mastodon-applikationen ved at gå til https://social.example.com
. Opret en ny brugerkonto på din server og bekræft brugerkontoen ved at åbne linket sendt i e-mailen. For at give administratorrettigheder til den konto, du lige har oprettet, skal du køre dette.
sudo su - mastodon && cd ~/app
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=<user_name>
Erstat <user_name>
med det faktiske brugernavn, du har brugt til at oprette kontoen i Mastodon-grænsefladen.
Din Mastodon-instans er nu installeret og konfigureret til at køre. Start med at invitere dine venner til at deltage i din instans og udforsk funktionerne fra Mastodon. Du kan bruge dit sociale netværkssted på mobilen ved at downloade en hvilken som helst af de applikationer, der er tilgængelige til forskellige platforme.
Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser
Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig
Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer
VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere
Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten
Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj
Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig
Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca
Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først
Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af de eneste SSL-udbydere, der udleverer certifikater komplet
Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient
Bruger du et andet system? Concrete5 er et open source CMS, som tilbyder mange karakteristiske og nyttige funktioner til at hjælpe redaktører med at producere indhold nemt og
Bruger du et andet system? Review Board er et gratis og open source-værktøj til gennemgang af kildekode, dokumentation, billeder og mange flere. Det er webbaseret software
I denne vejledning lærer du, hvordan du opsætter HTTP-godkendelse for en Nginx-webserver, der kører på CentOS 7. Krav For at komme i gang skal du bruge
YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen
Bruger du et andet system? Introduktion ArangoDB er en open source NoSQL-database med en fleksibel datamodel for dokumenter, grafer og nøgleværdier. det er
Introduktion /etc/-biblioteket spiller en afgørende rolle i den måde et Linux-system fungerer på. Årsagen til dette er, at næsten alle systemkonfigurationer
Mange systemadministratorer administrerer store mængder servere. Når filer skal tilgås på tværs af forskellige servere, logges ind på hver enkelt individuelt ca
Denne vejledning vil dække processen med at installere en Half Life 2-spilserver på CentOS 6 System. Trin 1: Installation af forudsætninger For at opsætte ou
Laravel GitScrum eller GitScrum er et open source-produktivitetsværktøj designet til at hjælpe udviklingsteams med at implementere Scrum-metoden på en måde, der ligner t.
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere