Како подесити Леаноте сервер на ЦентОС 7

Леаноте је бесплатна, лагана и отворена алтернатива Евернотеу, који је написан на Голангу. Имајући на уму корисничко искуство, Леаноте корисницима пружа обиље практичних функција, укључујући подршку за више платформи, писање у МаркДовн синтакси, јавно или приватно блоговање, прикупљање и дељење знања и тимску сарадњу.

У овом чланку ћу вас водити кроз подешавање Леаноте сервера на инстанци сервера ЦентОС 7. Из безбедносних разлога, омогућавање HTTPS supportкоришћења Лет'с Енцрипт ССЛ сертификата и Нгинк-а ће такође бити покривено.

Предуслови

  • Ново распоређена инстанца сервера Вултр ЦентОС 7. Рецимо да је његова ИПв4 адреса 203.0.113.1.
  • : Судо корисника по имену leanote.
  • Сви софтверски пакети на машини су ажурирани на најновији стабилни статус помоћу ЕПЕЛ ИУМ репо. Погледајте детаље овде .
  • Домен leanote.example.comкоји се упућује на инстанцу сервера поменуту горе.

Корак 1: Креирајте датотеку за замену

Када покрећете нову инстанцу сервера Вултр ЦентОС 7, увек се препоручује да подесите датотеку за замену како бисте осигурали да систем неометано ради. На пример, креирање замене датотеке величине 2048 МБ одговара машини са 2 ГБ меморије.

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Напомена: Ако користите другу величину сервера, можда ћете морати да измените величину датотеке за замену.

Корак 2: Набавите бинарне датотеке Леаноте 2.6.1

Преузмите и издвојите најновије стабилно издање Леаноте-а за 64-битни Линук систем:

cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz

Корак 3: Инсталирајте МонгоДБ Цоммунити Едитион 4.0

Као што захтева Леаноте, МонгоДБ НоСКЛ ДБМС мора бити постављен да бисте могли успешно да подесите Леаноте сервер.

Подесите МонгоДБ 4.0 ИУМ репо

Креирајте МонгоДБ 4.0 ИУМ репо на следећи начин:

cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF

Инсталирајте МонгоДБ 4.0 пакете користећи ИУМ

Инсталирајте све МонгоДБ компоненте и алате користећи МонгоДБ 4.0 ИУМ репо креиран раније:

sudo yum install -y mongodb-org

Конфигуришите СЕЛинук за МонгоДБ 4.0

Подразумевано, МонгоДБ би користио 27017порт када ради, што није дозвољено ако је СЕЛинук у enforcingрежиму на ЦентОС 7 машини. Користите следећу команду да потврдите тренутни режим СЕЛинук:

sudo getenforce

На инстанци сервера Вултр ЦентОС 7, СЕЛинук је подразумевано онемогућен. Дакле, излаз горње команде би био:

Disabled

У овом случају, можете слободно прескочити следећа упутства о конфигурисању СЕЛинук-а и наставити даље.

Међутим, ако користите оригиналну инстанцу сервера ЦентОС 7, излаз горње команде би био Enforcing. Морате да извршите било коју од три опције у наставку пре него што можете да покренете и омогућите МонгоДБ услугу.

  • Опција 1: Дозволите МонгоДБ-у да користи 27017порт

    sudo semanage port -a -t mongod_port_t -p tcp 27017
    
  • Опција 2: Онемогућите СЕЛинук

    sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    sudo shutdown -r now
    
  • Опција 3: Промените СЕЛинук у permissiveрежим

    sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
    sudo shutdown -r now
    

Покрените МонгоДБ услугу и учините да она почне након поновног покретања система:

sudo systemctl start mongod.service
sudo systemctl enable mongod.service

Корак 4: Увезите почетне Леаноте податке у МонгоДБ

Користите наредбе у наставку да увезете почетне Леаноте податке у МонгоДБ:

rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/

Корак 5: Омогућите МонгоДБ аутентификацију

Из безбедносних разлога, потребно је да омогућите контролу приступа МонгоДБ-у одмах након што се МонгоДБ сервис покрене и покрене. За ову сврху, потребно је да креирате најмање два МонгоДБ корисничка налога: налог администратора корисника и налог администратора базе података. Такође ћете морати да измените МонгоДБ конфигурацију.

Унесите љуску МонгоДБ:

mongo --host 127.0.0.1:27017

Пребаците се на adminбазу података:

use admin

Креирајте администратора корисника useradminкоји користи лозинку useradminpassword:

db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

Напомена: Администратор корисника useradminтреба да управља свим корисницима МонгоДБ-а, тако да је паметно изабрати јаку лозинку. Наравно, сигурнији савет је да замените useradminкорисничким именом које је тешко погодити.

Пребаците се на leanoteбазу података:

use leanote

Креирајте администратора базе података leanoteadminкоји користи лозинку leanoteadminpassword:

db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })

Напомена : Опет, препоручује се да одаберете мање познато корисничко име и лозинку коју је тешко погодити.

Након што су корисници МонгоДБ креирани, можете потврдити резултате:

use admin
db.auth("useradmin", "useradminpassword")

Потврдите администратора базе података:

use leanote
db.auth("leanoteadmin", "leanoteadminpassword")

Обоје ће послати 1као потврду.

Изађите из љуске МонгоДБ:

exit

Да бисте омогућили контролу приступа МонгоДБ-у, такође морате да додате две линије у МонгоДБ конфигурациони фајл /etc/mongod.conf, на следећи начин:

sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo '  authorization: enabled' >> /etc/mongod.conf"

Поново покрените МонгоДБ услугу да би измене ступиле на снагу:

sudo systemctl restart mongod.service

Од сада, можете користити само два корисничка налога за приступ и управљање МонгоДБ-ом, useradminза управљање свим МонгоДБ корисницима и само leanoteadminза управљање leanoteбазом података.

Корак 6: Конфигуришите Леаноте

Направите резервну копију конфигурационе датотеке Леаноте /home/leanote/leanote/conf/app.conf:

cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak

Користите viуређивач да отворите конфигурациону датотеку Леаноте:

vi app.conf

Find the following lines one by one:

site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y

Replace them, respectively, as shown below:

site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA

Note: For security purposes, the value of the app.secret parameter MUST be a 64-bit random string that is different from the original one. Make sure to replace the value E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA with your own 64-bit random value.

Save and quit:

:wq!

Step 7: Start Leanote

Modify firewall rules in order to allow inbound TCP traffic on port 9000:

sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service

Start Leanote using the official script:

cd /home/leanote/leanote/bin
bash run.sh

Upon seeing Listening on.. 0.0.0.0:9000, point your favorite web browser to http://leanote.example.com:9000 to start using the Leanote site.

Use the default Leanote admin account to sign in:

  • Username: admin
  • Password: abc123

For security purposes, you should change the default password immediately after signing in.

Step 8: Enable HTTPS access

For now, you can already access the Leanote server using the HTTP protocol, a less secure protocol. In order to improve system security, you can enable HTTPS by deploying both a Let's Encrypt SSL certificate and the Nginx reverse proxy on your machine.

Properly setup a hostname and fully qualified domain name (FQDN)

Before you can obtain the Let's Encrypt SSL certificate, you need to properly setup the hostname and FQDN on your machine.

First, press CTRL+C to stop the Leanote script run.sh.

Next, setup the hostname and FQDN as follows:

sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF

You can confirm the results, as well:

hostname
hostname -f

Modify firewall rules

Block inbound traffic on port 9000 and allow inbound traffic on ports for HTTP and HTTPS services:

sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

Apply for a Let's Encrypt SSL certificate

Install the Certbot utility:

sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot

Пријавите се за Лет'с Енцрипт ССЛ сертификат за домен leanote.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com

Сертификат и ланац ће бити сачувани на следећи начин:

/etc/letsencrypt/live/leanote.example.com/fullchain.pem

Датотека приватног кључа биће сачувана на следећи начин:

/etc/letsencrypt/live/leanote.example.com/privkey.pem

Подразумевано, Лет'с Енцрипт ССЛ сертификат истиче за три месеца. Можете да подесите црон посао, као што је приказано у наставку, да аутоматски обновите своје Лет'с Енцрипт сертификате:

sudo crontab -e

Притисните Iда бисте ушли у insertрежим, а затим унесите следећи ред:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Сачувај и затвори:

:wq!

Овај црон посао ће покушати да обнови сертификат Лет'с Енцрипт сваког дана у подне.

Инсталирајте Нгинк као обрнути прокси

Инсталирајте Нгинк користећи ЕПЕЛ ИУМ репо:

sudo yum install -y nginx

Направите конфигурациони фајл за Леаноте:

cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
    listen      80;
    server_name leanote.example.com;
    return      301 https://\$server_name\$request_uri;
}

server {

    # Setup HTTPS certificates
    listen       443 default ssl;
    server_name  leanote.example.com;
    ssl_certificate      /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/leanote.example.com/privkey.pem;

    # Proxy to the Leanote server
    location / {
        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 X-Forwarded-Host  \$http_host;
        proxy_set_header Host              \$http_host;
        proxy_max_temp_file_size           0;
        proxy_pass                         http://127.0.0.1:9000;
        proxy_redirect                     http:// https://;
    }
}
EOF

Поново покрените Нгинк да бисте своје измене применили:

sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

Измените site.urlпоставку у конфигурационој датотеци Леаноте:

cd /home/leanote/leanote/conf/
vi app.conf

Пронађите следећи ред:

site.url=http://leanote.example.com:9000

Замените га:

site.url=https://leanote.example.com

Сачувај и затвори:

:wq!

Поново покрените Леаноте скрипту:

cd /home/leanote/leanote/bin
bash run.sh

Сада, усмерите свој омиљени веб претраживач на http://leanote.example.com/, и видећете да се HTTPSпротокол аутоматски активира. Само се пријавите као adminкорисник са новом лозинком коју сте раније поставили или региструјте нове корисничке налоге за тимску сарадњу.

Поново притисните CTRL+ Cда зауставите Леаноте скрипту. Касније ћемо демонизовати ову скрипту.

Корак 9: Инсталирајте wkhtmltopdfпрограм

Леаноте бира да користи wkhtmltopdfпрограм за извоз ХТМЛ страница као ПДФ датотека. Инсталирај wkhtmltopdf:

cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf

Не заборавите да пошаљете wkhtmltopdfбинарну путању /usr/local/bin/wkhtmltopdfу Export PDFодељку на Леаноте веб административној контролној табли када се Леаноте поново покрене.

Напомена: Ако пронађете нечитљиве знакове у извезеним ПДФ датотекама, можете покушати да решите проблем додавањем потребних датотека фонтова у /usr/share/fonts/директоријум.

Корак 10: Користите Супервизор да одржите Леаноте скрипту у функцији

Да бисте задржали своју Леаноте локацију на мрежи, можете користити услужни програм Супервисор да бисте аутоматски покренули Леаноте скрипту ако се сруши.

Инсталирајте Супервизор користећи ИУМ:

sudo yum install -y supervisor

Направите једноставну .iniдатотеку супервизора за Леаноте:

cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF

Покрените услугу Супервизор, као и Леаноте услугу:

sudo supervisord -c /etc/supervisord.conf

Потврдите статус услуге Леаноте:

sudo supervisorctl status leanote

Излаз ће личити на следеће:

leanote                          RUNNING   pid 3707, uptime 0:02:36

Инсталирајте Плеск на ЦентОС 7

Инсталирајте Плеск на ЦентОС 7

Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података

Како инсталирати Скуид проки на ЦентОС

Како инсталирати Скуид проки на ЦентОС

Скуид је популаран, бесплатни Линук програм који вам омогућава да креирате веб проки за прослеђивање. У овом водичу ћете видети како да инсталирате Скуид на ЦентОС да вас преокрене

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Увод Лигхттпд је форк Апацхе-а који има за циљ да буде много мање интензиван према ресурсима. Лаган је, отуда и његово име, и прилично је једноставан за употребу. Инсталлин

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

ВУЛТР је недавно направио измене на њиховој страни, и сада би све требало да ради добро из кутије са омогућеним НетворкМанагер-ом. Ако желите да онемогућите

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Ицинга2 је моћан систем за праћење, и када се користи у моделу мастер-цлиент, може да замени потребу за провером праћења заснованом на НРПЕ. Главни клијент

Како инсталирати Апацхе Цассандра 3.11.к на ЦентОС 7

Како инсталирати Апацхе Цассандра 3.11.к на ЦентОС 7

Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу

Како инсталирати Мицровебер на ЦентОС 7

Како инсталирати Мицровебер на ЦентОС 7

Користите другачији систем? Мицровебер је ЦМС и онлајн продавница отвореног кода. Мицровебер изворни код се налази на ГитХуб-у. Овај водич ће вам показати

Како инсталирати Маттермост 4.1 на ЦентОС 7

Како инсталирати Маттермост 4.1 на ЦентОС 7

Користите другачији систем? Маттермост је опен соурце алтернатива Слацк СААС сервису за размену порука. Другим речима, са Маттермостом, ца

Креирање мреже Минецрафт сервера са БунгееЦорд-ом на Дебиан 8, Дебиан 9 или ЦентОС 7

Креирање мреже Минецрафт сервера са БунгееЦорд-ом на Дебиан 8, Дебиан 9 или ЦентОС 7

Шта вам треба Вултр ВПС са најмање 1 ГБ РАМ-а. ССХ приступ (са роот/административним привилегијама). Корак 1: Инсталирање БунгееЦорд-а Прво прво

Омогућава шифровање на Плеску

Омогућава шифровање на Плеску

Плеск контролна табла има веома лепу интеграцију за Летс Енцрипт. Летс Енцрипт је један од јединих ССЛ провајдера који у потпуности издају сертификате

Омогућава шифровање на цПанелу

Омогућава шифровање на цПанелу

Летс Енцрипт је ауторитет за сертификацију посвећен бесплатном пружању ССЛ сертификата. цПанел је направио уредну интеграцију тако да ви и ваш клијент

Како инсталирати Цонцрете5 на ЦентОС 7

Како инсталирати Цонцрете5 на ЦентОС 7

Користите другачији систем? Цонцрете5 је ЦМС отвореног кода који нуди многе карактеристичне и корисне функције које помажу уредницима да лако производе садржај и

Како инсталирати плочу за преглед на ЦентОС 7

Како инсталирати плочу за преглед на ЦентОС 7

Користите другачији систем? Ревиев Боард је бесплатан алат отвореног кода за преглед изворног кода, документације, слика и још много тога. То је софтвер заснован на вебу

Подесите ХТТП аутентификацију помоћу Нгинк-а на ЦентОС 7

Подесите ХТТП аутентификацију помоћу Нгинк-а на ЦентОС 7

У овом водичу ћете научити како да подесите ХТТП аутентификацију за Нгинк веб сервер који ради на ЦентОС 7. Захтеви Да бисте започели, требаће вам

Како инсталирати ИОУРЛС на ЦентОС 7

Како инсталирати ИОУРЛС на ЦентОС 7

ИОУРЛС (Иоур Овн УРЛ Схортенер) је апликација за скраћивање УРЛ-ова отвореног кода и аналитику података. У овом чланку ћемо покрити процес инсталације

Како инсталирати и конфигурисати АрангоДБ на ЦентОС 7

Како инсталирати и конфигурисати АрангоДБ на ЦентОС 7

Користите другачији систем? Увод АрангоДБ је НоСКЛ база података отвореног кода са флексибилним моделом података за документе, графиконе и кључ-вредности. То је

Коришћење Етцкеепер-а за контролу верзија /етц

Коришћење Етцкеепер-а за контролу верзија /етц

Увод Директоријум /етц/ игра кључну улогу у начину на који Линук систем функционише. Разлог за то је што је скоро свака конфигурација система

Зашто би требало да користите ССХФС? Како монтирати удаљени систем датотека са ССХФС на ЦентОС 6

Зашто би требало да користите ССХФС? Како монтирати удаљени систем датотека са ССХФС на ЦентОС 6

Многи системски администратори управљају великим количинама сервера. Када датотекама треба приступити на различитим серверима, пријављивање на сваки појединачно ца

Подешавање сервера Халф Лифе 2 на ЦентОС 6

Подешавање сервера Халф Лифе 2 на ЦентОС 6

Овај водич ће покрити процес инсталирања Халф Лифе 2 сервера за игре на ЦентОС 6 систем. Корак 1: Инсталирање предуслова Да бисте подесили оу

Како инсталирати Ларавел ГитСцрум на ЦентОС 7

Како инсталирати Ларавел ГитСцрум на ЦентОС 7

Ларавел ГитСцрум или ГитСцрум је алатка за продуктивност отвореног кода дизајнирана да помогне развојним тимовима да имплементирају Сцрум методологију на сличан начин т

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више