Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS
Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który
Leanote to darmowa, lekka i otwarta alternatywa dla Evernote, napisanej w Golang. Mając na uwadze doświadczenie użytkownika, Leanote zapewnia użytkownikom wiele praktycznych funkcji, w tym obsługę wielu platform, pisanie w składni MarkDown, publiczne lub prywatne blogowanie, gromadzenie i udostępnianie wiedzy oraz współpracę w zespole.
W tym artykule poprowadzę cię przez Konfigurowanie serwera Leanote na instancji serwera CentOS 7. Ze względów bezpieczeństwa możliwe HTTPS support
będzie także użycie certyfikatu Let's Encrypt SSL i Nginx.
203.0.113.1
.leanote
.leanote.example.com
wskazana na wspomnianą wyżej instancję serwera.Podczas uruchamiania nowej instancji serwera Vultr CentOS 7 zawsze zaleca się ustawienie pliku wymiany, aby zapewnić sprawne działanie systemu. Na przykład utworzenie pliku wymiany o wielkości 2048 MB jest odpowiednie dla komputera z 2 GB pamięci.
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
Uwaga: Jeśli używasz innego rozmiaru serwera, może być konieczne zmodyfikowanie rozmiaru pliku wymiany.
Pobierz i rozpakuj najnowszą stabilną wersję Leanote dla 64-bitowego systemu Linux:
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
Zgodnie z wymaganiami Leanote, system MongoDB NoSQL DBMS musi być zainstalowany, aby można było pomyślnie skonfigurować serwer Leanote.
Utwórz repozytorium MongoDB 4.0 YUM w następujący sposób:
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
Zainstaluj wszystkie komponenty i narzędzia MongoDB, korzystając z utworzonego wcześniej repozytorium MongoDB 4.0 YUM:
sudo yum install -y mongodb-org
Domyślnie MongoDB używa 27017
portu podczas pracy, co jest niedozwolone, jeśli SELinux jest w enforcing
trybie na komputerze CentOS 7. Użyj następującego polecenia, aby potwierdzić bieżący tryb SELinux:
sudo getenforce
W instancji serwera Vultr CentOS 7 SELinux jest domyślnie wyłączony. Zatem wynik powyższej komendy byłby następujący:
Disabled
W takim przypadku możesz pominąć poniższe instrukcje dotyczące konfigurowania SELinux i przejść dalej.
Jednakże, jeśli używasz oryginalnego serwera CentOS instancję 7, wyjście z powyższego polecenia będzie Enforcing
. Trzeba wykonać jeden z trzech poniższych opcji , zanim można zacząć i włączyć usługę MongoDB.
Opcja 1: Pozwól MongoDB korzystać z 27017
portu
sudo semanage port -a -t mongod_port_t -p tcp 27017
Opcja 2: Wyłącz SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
Opcja 3: Zmień SELinux na permissive
tryb
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
Uruchom usługę MongoDB i uruchom ją po ponownym uruchomieniu systemu:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Użyj poniższych poleceń, aby zaimportować początkowe dane Leanote do MongoDB:
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/
Ze względów bezpieczeństwa musisz włączyć kontrolę dostępu do MongoDB zaraz po uruchomieniu usługi MongoDB. W tym celu musisz utworzyć co najmniej dwa konta użytkownika MongoDB: konto administratora użytkownika i konto administratora bazy danych. Będziesz także musiał zmodyfikować konfigurację MongoDB.
Wpisz powłokę MongoDB:
mongo --host 127.0.0.1:27017
Przejdź do admin
bazy danych:
use admin
Utwórz administratora użytkownika o nazwie, useradmin
który używa hasła useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Uwaga: Administrator użytkownika useradmin
powinien zarządzać wszystkimi użytkownikami MongoDB, więc dobrze jest wybrać silne hasło. Oczywiście bezpieczniejszą wskazówką jest zastąpienie useradmin
trudną do odgadnięcia nazwą użytkownika.
Przejdź do leanote
bazy danych:
use leanote
Utwórz administratora bazy danych o nazwie, leanoteadmin
który używa hasła leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
Uwaga : ponownie zaleca się wybranie mniej znanej nazwy użytkownika i trudnego do odgadnięcia hasła.
Po utworzeniu użytkowników MongoDB możesz potwierdzić wyniki:
use admin
db.auth("useradmin", "useradminpassword")
Potwierdź administratora bazy danych:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
Oba zostaną wyświetlone 1
jako potwierdzenie.
Wyjdź z powłoki MongoDB:
exit
Aby włączyć kontrolę dostępu do MongoDB, musisz również dołączyć dwa wiersze do pliku konfiguracyjnego MongoDB /etc/mongod.conf
w następujący sposób:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
Uruchom ponownie usługę MongoDB, aby zmiany zaczęły obowiązywać:
sudo systemctl restart mongod.service
Od teraz możesz używać tylko dwóch kont użytkowników, aby uzyskać dostęp i zarządzać MongoDB, useradmin
zarządzać wszystkimi użytkownikami MongoDB i leanoteadmin
zarządzać leanote
tylko bazą danych.
Wykonaj kopię zapasową pliku konfiguracyjnego Leanote /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
Użyj vi
edytora, aby otworzyć plik konfiguracyjny Leanote:
vi app.conf
Znajdź następujące linie jeden po drugim:
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
Zastąp je odpowiednio, jak pokazano poniżej:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
Uwaga: Ze względów bezpieczeństwa wartość app.secret
parametru MUSI być 64-bitowym ciągiem losowym innym niż pierwotny. Pamiętaj o zastąpieniu wartości E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
własną 64-bitową wartością losową.
Zapisz i wyjdź:
:wq!
Zmodyfikuj reguły zapory, aby umożliwić przychodzący ruch TCP na porcie 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Uruchom Leanote przy użyciu oficjalnego skryptu:
cd /home/leanote/leanote/bin
bash run.sh
Po obejrzeniu Listening on.. 0.0.0.0:9000
wskaż swoją ulubioną przeglądarkę internetową, http://leanote.example.com:9000
aby rozpocząć korzystanie z witryny Leanote.
Użyj domyślnego konta administratora Leanote, aby zalogować się:
admin
abc123
Ze względów bezpieczeństwa należy zmienić domyślne hasło natychmiast po zalogowaniu.
HTTPS
dostępNa razie możesz już uzyskać dostęp do serwera Leanote przy użyciu protokołu HTTP, mniej bezpiecznego protokołu. Aby poprawić bezpieczeństwo systemu, możesz włączyć HTTPS
, wdrażając zarówno certyfikat Let's Encrypt SSL, jak i odwrotne proxy Nginx na twoim komputerze.
Aby uzyskać certyfikat Let's Encrypt SSL, musisz poprawnie skonfigurować nazwę hosta i nazwę FQDN na swoim komputerze.
Najpierw naciśnij CTRL+, Caby zatrzymać skrypt Leanote run.sh
.
Następnie ustaw nazwę hosta i nazwę FQDN w następujący sposób:
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
Możesz również potwierdzić wyniki:
hostname
hostname -f
Blokuj ruch przychodzący na porcie 9000
i zezwalaj na ruch przychodzący na portach HTTP
i HTTPS
usługach:
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
Zainstaluj narzędzie Certbot:
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
Złóż wniosek o certyfikat Let's Encrypt SSL dla domeny leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
Certyfikat i łańcuch zostaną zapisane w następujący sposób:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
Plik klucza prywatnego zostanie zapisany w następujący sposób:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
Domyślnie certyfikat Let's Encrypt SSL wygaśnie za trzy miesiące. Możesz skonfigurować zadanie cron, jak pokazano poniżej, w celu automatycznego odnawiania certyfikatów Let's Encrypt:
sudo crontab -e
Naciśnij, Iaby przejść do insert
trybu, a następnie wprowadź następujący wiersz:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Zapisz i wyjdź:
:wq!
To zadanie cron będzie próbowało odnawiać certyfikat Let's Encrypt codziennie w południe.
Zainstaluj Nginx za pomocą repozytorium EPEL YUM:
sudo yum install -y nginx
Utwórz plik konfiguracyjny dla Leanote:
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
Uruchom ponownie Nginx, aby wprowadzić zmiany:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Zmodyfikuj site.url
ustawienie w pliku konfiguracyjnym Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
Znajdź następujący wiersz:
site.url=http://leanote.example.com:9000
Wymień:
site.url=https://leanote.example.com
Zapisz i wyjdź:
:wq!
Ponownie uruchom skrypt Leanote:
cd /home/leanote/leanote/bin
bash run.sh
Teraz wskaż swoją ulubioną przeglądarkę internetową http://leanote.example.com/
, a zobaczysz, że HTTPS
protokół jest aktywowany automatycznie. Zaloguj się jako admin
użytkownik przy użyciu nowego hasła, które wcześniej skonfigurowałeś lub zarejestruj nowe konta użytkowników do współpracy w zespole.
Ponownie naciśnij CTRL+, Caby zatrzymać skrypt Leanote. Demonizujemy ten skrypt później.
wkhtmltopdf
programLeanote decyduje się używać wkhtmltopdf
programu do eksportowania stron HTML jako plików PDF. Zainstaluj 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
Nie zapomnij podać wkhtmltopdf
ścieżki binarnej /usr/local/bin/wkhtmltopdf
w Export PDF
sekcji panelu administracyjnego administratora Leanote, gdy Leanote jest ponownie uruchomiony.
Uwaga: Jeśli znajdziesz nieczytelne znaki w eksportowanych plikach PDF, możesz spróbować rozwiązać problem, dodając wymagane pliki czcionek do /usr/share/fonts/
katalogu.
Aby utrzymać swoją witrynę Leanote online, możesz użyć narzędzia Supervisor, aby automatycznie uruchomić skrypt Leanote, jeśli ulegnie awarii.
Zainstaluj Supervisora za pomocą YUM:
sudo yum install -y supervisor
Utwórz prosty .ini
plik Supervisor dla Leanote:
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
Uruchom usługę Supervisor, a także usługę Leanote:
sudo supervisord -c /etc/supervisord.conf
Potwierdź status usługi Leanote:
sudo supervisorctl status leanote
Dane wyjściowe będą przypominać następujące:
leanote RUNNING pid 3707, uptime 0:02:36
Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który
Podczas konfigurowania nowego serwera Linux zaleca się aktualizację jądra systemu i innych pakietów do najnowszej stabilnej wersji. W tym artykule
Wprowadzenie RethinkDB to baza danych NoSQL, która przechowuje dane jako dokumenty JSON. Ma bardzo intuicyjny język zapytań i funkcje powszechnie dostępne
Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł
OrientDB to wielomodowy model open source NoSQL DBMS nowej generacji. Dzięki obsłudze wielu modeli danych, OrientDB może zapewnić większą funkcjonalność i elastyczność
Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo
Vtiger CRM to popularna aplikacja do zarządzania relacjami z klientami, która może pomóc przedsiębiorstwom zwiększyć sprzedaż, zapewnić obsługę klienta i zwiększyć zyski. ja
MaraDNS to lekki, ale solidny program serwera DNS typu open source. W porównaniu z innymi aplikacjami tego samego rodzaju, takimi jak ISC BIND, PowerDNS i djbdns
Używasz innego systemu? Netdata jest wschodzącą gwiazdą w dziedzinie monitorowania wskaźników systemowych w czasie rzeczywistym. W porównaniu z innymi narzędziami tego samego rodzaju, Netdata:
Używasz innego systemu? W tym samouczku wyjaśnię, jak skonfigurować serwer Starbound na CentOS 7. Wymagania wstępne Musisz mieć tę grę na sobie
RabbitMQ to broker komunikatów typu open source, który obsługuje AMQP, STOMP i inne technologie komunikacyjne. Jest szeroko stosowany w aplikacjach dla przedsiębiorstw
Witamy w innym samouczku Vultr. Tutaj dowiesz się, jak zainstalować i uruchomić serwer SAMP. Ten przewodnik został napisany dla CentOS 6. Wymagania wstępne Będziesz potrzebował
Używasz innego systemu? Elgg to silnik sieci społecznościowych typu open source, który umożliwia tworzenie środowisk społecznościowych, takich jak kampusowe sieci społecznościowe
RStudio Server to internetowa wersja RStudio, która jest serią narzędzi zaprojektowanych w celu ułatwienia kodowania przy użyciu języka programowania R. W thi
Bolt to open source CMS napisany w PHP. Kod źródłowy Bolts jest hostowany na GitHub. Ten przewodnik pokaże Ci, jak zainstalować Bolt CMS na nowym CentOS 7 Vult
Elasticsearch to popularny wyszukiwarka pełnotekstowa i silnik analityczny typu open source. Dzięki swojej wszechstronności, skalowalności i łatwości użytkowania, Elasticsearch jest szeroko rozpowszechniony
Omówienie Ten artykuł ma na celu pomóc ci w szybkim uruchomieniu klastra Kubernetes z kubeadm. W tym przewodniku zostaną wdrożone dwa serwery
Używasz innego systemu? Wprowadzenie Sails.js to framework MVC dla Node.js, podobny do Ruby on Rails. Umożliwia tworzenie nowoczesnych aplikacji wer
Wprowadzenie W tym samouczku zainstaluj PufferPanel na naszym Vultr VPS. PufferPanel to otwarty, darmowy panel kontrolny do zarządzania tobą
Wprowadzenie Systemy Linux są domyślnie dostarczane z narzędziami do monitorowania, takimi jak top, df i du, które pomagają monitorować procesy i miejsce na dysku. Często jednak są
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.