Инсталирајте Плеск на ЦентОС 7
Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података
Мастодон је сервер за микроблоговање и друштвено умрежавање отвореног кода који самостално хостује. Пружа функције попут Твиттер-а; али уместо да га контролише једна компанија, то је федерација децентрализованих сервера који се повезују како би направили читав систем друштвених мрежа. Мали тим може покренути своју инстанцу сервера Мастодон да би комуницирао између себе, као и са другим корисницима федералне заједнице. Такође вам омогућава да изаберете сопствену политику приватности и модерирања и дефинишете како комуницирате са другим корисницима различитих сервера. Садржај који поједини корисник креира и на који се претплати налази се на серверу где је креиран његов/њен налог. Корисници могу да прате једни друге чак и ако нису хостовани на истом серверу. Сваки корисник у мрежи Мастодон има своје јединствено име или ИД који се налази у@[email protected]формату. Клијентске апликације за Мастодон доступне су за скоро све платформе.
Напомена: Користићемо social.example.comкао име домена које се користи за инстанцу Мастодон. Замените сва појављивања social.example.comса својим стварним именом домена које желите да користите за своју Мастодон апликацију .
Ажурирајте свој основни систем користећи водич Како да ажурирате ЦентОС 7 , ако је потребно. Када се ваш систем ажурира, наставите са инсталирањем потребних зависности.
Мастодонту је потребно неколико зависности да би функционисао. Инсталирајте најновију верзију Node.js, која ће се користити за компајлирање ЈаваСцрипт датотека.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs
Инсталл Yarn, што је брза, поуздана и безбедна апликација за управљање зависностима. Користићемо Иарн да инсталирамо Ноде.јс зависности.
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum -y install yarn
Инсталирај Redis. Редис је апликација за складиштење структуре података у меморији и кеш меморију.
sudo yum -y install 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'
ПостгреСКЛ је објектно релациони систем базе података. Мораћете да додате ПостгреСКЛ спремиште у свој систем јер подразумевано 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
Инсталирајте ПостгреСКЛ сервер базе података.
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
Покрените ПостгреСКЛ сервер и омогућите му аутоматско покретање при покретању.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Промените лозинку за подразумеваног корисника ПостгреСКЛ.
sudo passwd postgres
Пријавите се на љуску као PostgreSQLкорисник.
sudo su - postgres
Направите новог PostgreSQLкорисника за Мастодон.
createuser mastodon
ПостгреСКЛ обезбеђује psqlљуску за покретање упита у бази података. Пребаците се на ПостгреСКЛ љуску покретањем.
psql
Поставите лозинку за новокреираног корисника за базу података Мастодон и обезбедите дозволу за додавање нових база података.
ALTER USER mastodon WITH ENCRYPTED password 'DBPassword' CREATEDB;
Замените DBPasswordјаком лозинком. Изађите из psqlљуске:
\q
Пребаците се на sudoкорисника.
exit
Инсталирајте још неколико потребних ПостгреСКЛ зависности.
sudo yum -y install libpqxx-devel protobuf-devel
Креирајте новог корисника за Мастодон и пређите на новокреираног корисника.
sudo adduser mastodon -d /opt/mastodon
sudo su - mastodon
Инсталираћемо најновију верзију Руби-а користећи Руби Версион Манагер, или РВМ. Користи се за инсталирање и управљање више верзија Руби-а.
Додајте GPGкључ РВМ-а на свој сервер.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Инсталирајте РВМ.
curl -sSL https://get.rvm.io | bash -s stable
source /opt/mastodon/.rvm/scripts/rvm
Сада дохватите листу доступних верзија Руби-а.
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
...
Сада инсталирајте најновију верзију Руби-а са листе.
rvm install 2.4
Користите инсталирану верзију Руби-а.
rvm use 2.4
Требало би да будете у могућности да проверите његову верзију.
ruby -v
Требало би да видите сличан излаз.
[mastodon@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Инсталл bundler, који је менаџер зависности за Руби апликацију.
gem install bundler
Сада пређите на почетни директоријум корисника Мастодон и клонирајте датотеке спремишта апликације са Гитхуб-а.
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.
Let's Encrypt certificates expire in 90 days, so it is recommended to set up auto renewal for the certificates using Cron jobs. Cron is a system service which is used to run periodic tasks.
Open the cron job file.
sudo crontab -e
Add the following line.
0 0 * * * /usr/bin/certbot renew --quiet
The above cron job will run daily at midnight. If the certificate is due for expiry, it will automatically renew the certificates.
Now create a new Nginx server block for the Mastodon site.
sudo nano /etc/nginx/conf.d/mastodon.conf
Populate the file with this.
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;
}
Be sure to change the domain name and the path to the SSL certificates.
Now you can start the Nginx web server and enable it to start at boot automatically.
sudo systemctl start nginx
sudo systemctl enable nginx
You will also be required to allow port 4000 through the firewall as the port will be providing the streaming API service.
sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload
Provide the execution permissions for the Mastodon directory.
sudo chmod +x /opt/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
Креирајте други Системд сервис да бисте покренули услугу чекања у позадини Мастодон. Мастодон сервис за редове се брине за све позадинске задатке.
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
На крају, креирајте последњу датотеку услуге за Мастодон стреаминг АПИ услугу.
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
Омогућите да се услуге Мастодон аутоматски покрећу у тренутку покретања.
sudo systemctl enable mastodon-web mastodon-queue mastodon-api
Да бисте покренули услуге Мастодон, можете покренути ово.
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>стварним корисничким именом које сте користили за креирање налога у интерфејсу Мастодон.
Ваша Мастодон инстанца је сада инсталирана и конфигурисана за покретање. Почните тако што ћете позвати своје пријатеље да се придруже вашој инстанци и истраже функције које пружа Мастодон. Можете да користите свој сајт за друштвено умрежавање на мобилном телефону тако што ћете преузети било коју од апликација доступних за различите платформе.
Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података
Скуид је популаран, бесплатни Линук програм који вам омогућава да креирате веб проки за прослеђивање. У овом водичу ћете видети како да инсталирате Скуид на ЦентОС да вас преокрене
Увод Лигхттпд је форк Апацхе-а који има за циљ да буде много мање интензиван према ресурсима. Лаган је, отуда и његово име, и прилично је једноставан за употребу. Инсталлин
ВУЛТР је недавно направио измене на њиховој страни, и сада би све требало да ради добро из кутије са омогућеним НетворкМанагер-ом. Ако желите да онемогућите
Ицинга2 је моћан систем за праћење, и када се користи у моделу мастер-цлиент, може да замени потребу за провером праћења заснованом на НРПЕ. Главни клијент
Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу
Користите другачији систем? Мицровебер је ЦМС и онлајн продавница отвореног кода. Мицровебер изворни код се налази на ГитХуб-у. Овај водич ће вам показати
Користите другачији систем? Маттермост је опен соурце алтернатива Слацк СААС сервису за размену порука. Другим речима, са Маттермостом, ца
Шта вам треба Вултр ВПС са најмање 1 ГБ РАМ-а. ССХ приступ (са роот/административним привилегијама). Корак 1: Инсталирање БунгееЦорд-а Прво прво
Плеск контролна табла има веома лепу интеграцију за Летс Енцрипт. Летс Енцрипт је један од јединих ССЛ провајдера који у потпуности издају сертификате
Летс Енцрипт је ауторитет за сертификацију посвећен бесплатном пружању ССЛ сертификата. цПанел је направио уредну интеграцију тако да ви и ваш клијент
Користите другачији систем? Цонцрете5 је ЦМС отвореног кода који нуди многе карактеристичне и корисне функције које помажу уредницима да лако производе садржај и
Користите другачији систем? Ревиев Боард је бесплатан алат отвореног кода за преглед изворног кода, документације, слика и још много тога. То је софтвер заснован на вебу
У овом водичу ћете научити како да подесите ХТТП аутентификацију за Нгинк веб сервер који ради на ЦентОС 7. Захтеви Да бисте започели, требаће вам
ИОУРЛС (Иоур Овн УРЛ Схортенер) је апликација за скраћивање УРЛ-ова отвореног кода и аналитику података. У овом чланку ћемо покрити процес инсталације
Користите другачији систем? Увод АрангоДБ је НоСКЛ база података отвореног кода са флексибилним моделом података за документе, графиконе и кључ-вредности. То је
Увод Директоријум /етц/ игра кључну улогу у начину на који Линук систем функционише. Разлог за то је што је скоро свака конфигурација система
Многи системски администратори управљају великим количинама сервера. Када датотекама треба приступити на различитим серверима, пријављивање на сваки појединачно ца
Овај водич ће покрити процес инсталирања Халф Лифе 2 сервера за игре на ЦентОС 6 систем. Корак 1: Инсталирање предуслова Да бисте подесили оу
Ларавел ГитСцрум или ГитСцрум је алатка за продуктивност отвореног кода дизајнирана да помогне развојним тимовима да имплементирају Сцрум методологију на сличан начин т
Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.
Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.
Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.
Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.
Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…
Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.
Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.
Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.
У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.
Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више