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
GoCD to otwarty system ciągłego dostarczania i automatyzacji. Umożliwia modelowanie złożonych przepływów pracy przy użyciu wykonywania równoległego i sekwencyjnego. Mapa strumienia wartości pozwala z łatwością wizualizować złożony przepływ pracy. GoCD pozwala łatwo porównać dwie kompilacje i wdrożyć dowolną wersję aplikacji, którą chcesz. Ekosystem GoCD składa się z serwera GoCD i agenta GoCD. GoCD jest odpowiedzialny za kontrolowanie wszystkiego, takie jak uruchamianie internetowego interfejsu użytkownika oraz zarządzanie i dostarczanie zadań agentowi. Agenci Go są odpowiedzialni za uruchamianie zadań i wdrożeń.
W tym samouczku użyjemy 192.168.1.1
jako publicznego adresu IP i gocd.example.com
nazwy domeny wskazanej na instancję Vultr. Pamiętaj, aby zastąpić wszystkie wystąpienia przykładowej nazwy domeny i adresu IP faktycznym.
Zaktualizuj system podstawowy za pomocą przewodnika Jak zaktualizować CentOS 7 . Po zaktualizowaniu systemu przejdź do instalacji Java.
GoCD wymaga Java w wersji 8 i obsługuje zarówno Oracle Java, jak i OpenJDK. W tym samouczku będziemy instalować Javę 8 z OpenJDK.
OpenJDK można łatwo zainstalować, ponieważ pakiet jest dostępny w domyślnym YUM
repozytorium.
sudo yum -y install java-1.8.0-openjdk-devel
Jeśli Java jest poprawnie zainstalowana, będziesz mógł zweryfikować jej wersję.
java -version
Otrzymasz wynik podobny do następującego tekstu.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Zanim przejdziemy dalej, musimy skonfigurować zmienne środowiskowe JAVA_HOME
i JRE_HOME
. Znajdź bezwzględną ścieżkę do pliku wykonywalnego Java w swoim systemie.
readlink -f $(which java)
Poniższy tekst zostanie wysłany do twojego terminala.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java
Teraz ustaw zmienne środowiskowe JAVA_HOME
i JRE_HOME
zgodnie ze ścieżką do katalogu Java.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre" >> ~/.bash_profile
Uwaga: Upewnij się, że używasz ścieżki Java uzyskanej w systemie. Ścieżka użyta w tym samouczku może ulec zmianie po wydaniu nowej wersji Java 8.
Uruchom bash_profile
plik.
source ~/.bash_profile
Teraz możesz uruchomić echo $JAVA_HOME
polecenie, aby upewnić się, że zmienna środowiskowa jest ustawiona.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD jest napisany w Javie, dlatego Java jest jedyną zależnością do uruchomienia GoCD. GoCD można zainstalować za pomocą YUM
. Zainstaluj swoje oficjalne repozytorium w systemie.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
Zainstaluj serwer GoCD w swoim systemie.
sudo yum install -y go-server
Uruchom GoCD i włącz automatyczne uruchamianie w czasie uruchamiania.
sudo systemctl start go-server
sudo systemctl enable go-server
Zanim przejdziemy do pulpitu GoCD, stwórzmy nowy katalog do przechowywania artefaktów. Artefakty można przechowywać na tym samym dysku, na którym zainstalowany jest system operacyjny i aplikacje. Alternatywnie możesz użyć dedykowanego dysku lub zablokowanego napędu do przechowywania artefaktów.
Jeśli chcesz używać tego samego dysku do przechowywania artefaktów, po prostu utwórz nowy katalog i przekaż własność użytkownikowi GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
Oprogramowanie GoCD zaleca użycie dodatkowej partycji lub napędu do przechowywania artefaktów. W platformie ciągłej integracji i dostawy artefakty są generowane bardzo często. Miejsce na dysku zmniejsza się w czasie, gdy nowe artefakty są ciągle generowane. Na pewnym etapie w twoim systemie zabraknie wolnego miejsca na dysku, a usługi działające w twoim systemie przestaną działać. Aby rozwiązać ten problem, możesz podłączyć nowy dysk do przechowywania bloków Vultr do przechowywania artefaktów. Jeśli nadal chcesz przechowywać artefakty na tym samym dysku, przejdź do sekcji „Konfiguracja zapory”.
Wdróż nowy blokowy dysk pamięci i podłącz go do instancji serwera GoCD. Teraz utwórz nową partycję na blokowym urządzeniu magazynującym.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Utwórz system plików na nowym dysku.
sudo mkfs.ext4 /dev/vdb1
Zamontuj blokowy dysk pamięci.
sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts
Teraz uruchom df
, a zobaczysz zamontowany nowy dysk do przechowywania bloków /mnt/artifacts
.
[user@vultr ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 20616252 6313892 13237464 33% /
...
/dev/vdb1 10188052 36888 9610596 1% /mnt/artifacts
Podaj własność katalogu użytkownikowi GoCD.
sudo chown -R go:go /mnt/artifacts
Zmień konfigurację zapory, aby zezwalać na porty 8153
i 8154
zaporę. Port 8153
nasłuchuje połączeń niezabezpieczonych i port 8154
połączeń bezpiecznych.
sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload
Teraz możesz uzyskać dostęp do pulpitu GoCD na http://192.168.1.1:8153
. Aby uzyskać dostęp do pulpitu GoCD przy zabezpieczonym połączeniu, uzyskaj dostęp https://192.168.1.1:8154
. Pojawi się błąd wskazujący, że certyfikaty są nieprawidłowe. Możesz bezpiecznie zignorować błąd, ponieważ certyfikaty są samopodpisane. Ze względów bezpieczeństwa zawsze powinieneś używać deski rozdzielczej przez bezpieczne połączenie.
Przed skonfigurowaniem nowego potoku przejdź do „ Admin >> Server Configuration
” z górnego paska nawigacyjnego.
Wprowadź adres URL do niezabezpieczonej witryny w polu „ Site URL
” i zabezpieczonej witryny w polu „ Secure Site URL
”.
Następnie podaj dane swojego serwera SMTP, aby wysyłać powiadomienia e-mail z GoCD.
Na koniec podaj ścieżkę do miejsca, w którym chcesz przechowywać artefakty. Jeśli zdecydowałeś się przechowywać artefakty na tym samym dysku co system operacyjny, wpisz /opt/artifacts
; jeśli zdecydowałeś się dołączyć blokowy dysk pamięci, możesz wejść /mnt/artifacts
.
Możesz także skonfigurować GoCD do automatycznego usuwania starych artefaktów. Skonfiguruj następną opcję zgodnie z rozmiarem dysku. Jednak opcja automatycznego usuwania nie wykonuje kopii zapasowej starych artefaktów. Aby ręcznie wykonać kopię zapasową, a następnie usunąć stare artefakty, wyłącz automatyczne usuwanie, wybierając Never
opcję „ ” dla opcji „ Auto delete old artifacts
”.
Musisz zrestartować serwer GoCD, aby zastosować nowe zmiany.
sudo systemctl restart go-server
Domyślnie pulpit nawigacyjny GoCD nie jest skonfigurowany do korzystania z żadnego rodzaju uwierzytelniania, ale obsługuje uwierzytelnianie przy użyciu pliku haseł i protokołu LDAP. W tym samouczku skonfigurujemy uwierzytelnianie oparte na haśle.
Uwaga : konfiguracja uwierzytelniania jest opcjonalnym krokiem, ale jest zdecydowanie zalecana dla serwerów publicznych, takich jak Vultr.
Zainstaluj narzędzia Apache, abyśmy mogli użyć htpasswd
polecenia do utworzenia zaszyfrowanego pliku hasła.
sudo yum -y install httpd-tools
Utwórz plik hasła za pomocą htpasswd
polecenia przy użyciu szyfrowania Bcrypt.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Podaj hasło dla użytkownika dwa razy. Zobaczysz następujące dane wyjściowe.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
Możesz dodać dowolną liczbę użytkowników, używając tego samego polecenia powyżej, ale usuwając tę -c
opcję. -c
Opcja zastąpienia istniejącego pliku, zastępując stare użytkownikom nowego użytkownika.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Ponieważ utworzyliśmy plik hasła, ponownie uzyskaj dostęp do pulpitu GoCD. Przejdź do „ Admin >> Security >> Authorization Configurations
” z górnego paska nawigacyjnego. Kliknij Add
przycisk i podaj identyfikator. Wybierz „ Password File Authentication Plugin for GoCD
” dla identyfikatora wtyczki i skieruj ścieżkę do pliku hasła. Teraz kliknij przycisk „ Check Connection
”, aby sprawdzić, czy GoCD może użyć pliku hasła do uwierzytelnienia.
Na koniec zapisz metodę uwierzytelniania. Ponownie załaduj pulpit, a nastąpi automatyczne wylogowanie. Zobaczysz teraz ekran logowania. Zaloguj się przy użyciu wcześniej utworzonych poświadczeń.
Konieczne będzie ręczne wypromowanie administratora, w przeciwnym razie wszyscy użytkownicy będą mieli uprawnienia administratora. Przejdź do „ Admin >> User Summary
” z górnego paska nawigacyjnego.
Teraz wybierz utworzonego użytkownika administratora i kliknij Roles
menu rozwijane „ ”. Wypromuj użytkownika jako jedynego administratora, zaznaczając pole wyboru „ Go System Administrator
”.
Aby dodać użytkowników w GoCD utworzonych w pliku haseł, kliknij przycisk „ ADD
” i wyszukaj użytkownika, aby je dodać. Użytkownicy są również automatycznie dodawani do pulpitu GoCD przy pierwszym logowaniu. Oczywiście, aby użytkownicy mogli się zalogować, muszą zostać dodani do pliku hasła, który utworzyliśmy wcześniej.
Domyślnie GoCD nasłuchuje portów 8153
i 8154
bezpiecznych połączeń. Chociaż port 8154
zapewnia bezpieczne połączenie z aplikacją, wyświetla również błędy przeglądarki, ponieważ używa certyfikatu z podpisem własnym. W tej części samouczka zainstalujemy i zabezpieczymy Nginx za pomocą darmowego certyfikatu SSL Let's Encrypt. Serwer WWW Nginx będzie działał jako odwrotny serwer proxy do przekazywania przychodzących żądań do HTTP
punktu końcowego GoCD .
Zainstaluj Nginx.
sudo yum -y install nginx
Uruchom Nginx i włącz automatyczne uruchamianie podczas uruchamiania.
sudo systemctl start nginx
sudo systemctl enable nginx
Zainstaluj Certbot, czyli aplikację kliencką Let's Encrypt CA.
sudo yum -y install certbot
Aby móc zażądać certyfikatów, musisz zezwolić na porty 80
i 443
/ lub standard HTTP
i HTTPS
usługi za pośrednictwem zapory. Usuń także port 8153
, który nasłuchuje niezabezpieczonych połączeń.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8153/tcp --permanent
sudo firewall-cmd --reload
Uwaga : Aby uzyskać certyfikaty z Let's Encrypt CA, domena, dla której mają być generowane certyfikaty, musi być skierowana w stronę serwera. Jeśli nie, dokonaj niezbędnych zmian w rekordach DNS domeny i poczekaj na propagację DNS przed ponownym żądaniem certyfikatu. Certbot sprawdza urząd domeny przed podaniem certyfikatów.
Wygeneruj certyfikaty SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d gocd.example.com
Wygenerowane certyfikaty prawdopodobnie będą przechowywane /etc/letsencrypt/live/gocd.example.com/
. Certyfikat SSL będzie przechowywany jako, fullchain.pem
a klucz prywatny będzie przechowywany jako privkey.pem
.
Ważność certyfikatów Let's Encrypt wygasa za 90 dni, dlatego zaleca się skonfigurowanie automatycznego odnawiania certyfikatów za pomocą zadań cron.
Otwórz plik zadania cron.
sudo crontab -e
Dodaj następujący wiersz na końcu pliku.
30 5 * * * /usr/bin/certbot renew --quiet
Powyższe zadanie crona będzie uruchamiane codziennie o 5:30. Jeśli certyfikat wygasa, zostanie automatycznie odnowiony.
Teraz zmień domyślny plik konfiguracyjny Nginx, aby usunąć default_server
linię.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Utwórz nowy plik konfiguracyjny dla interfejsu internetowego GoCD.
sudo nano /etc/nginx/conf.d/gocd.conf
Wypełnij plik.
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80 default_server;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server;
server_name gocd.example.com;
ssl_certificate /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gocd.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/gocd.access.log;
location / {
proxy_pass http://gocd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /go {
proxy_pass http://gocd/go;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Sprawdź, czy nie ma błędów w nowym pliku konfiguracyjnym.
sudo nginx -t
Jeśli wyświetli się następujący wynik, konfiguracja jest wolna od błędów.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Jeśli wystąpił jakiś błąd, sprawdź dokładnie ścieżkę do certyfikatów SSL. Uruchom ponownie serwer WWW Nginx, aby wprowadzić zmianę w konfiguracji.
sudo systemctl restart nginx
Teraz możesz uzyskać dostęp do pulpitu GoCD pod adresem https://gocd.example.com
. Zaloguj się do pulpitu nawigacyjnego przy użyciu poświadczeń administratora i przejdź do „ Admin >> Server Configuration
” z górnego paska nawigacyjnego.
Ustaw „ Site URL
” i „ Secure Site URL
” na https://gocd.example.com
. Port 8154
nadal musi być dostępny przez zaporę, aby zdalni agenci mogli połączyć się z serwerem za pośrednictwem portu 8154
, na wypadek, gdyby nie byli w stanie połączyć się przez standardowy HTTP
port.
W środowisku ciągłej integracji GoCD agenci GoCD są pracownikami odpowiedzialnymi za wykonanie wszystkich zadań. Po wykryciu zmiany w źródle potok jest uruchamiany, a zadania są przypisywane do dostępnych pracowników do wykonania. Następnie agent wykonuje zadanie i zgłasza ostateczny status po wykonaniu.
Aby uruchomić potok, należy skonfigurować co najmniej jednego agenta. Kontynuuj instalację agenta GoCD na serwerze GoCD.
Ponieważ zaimportowaliśmy już repozytorium GoCD na serwer, możemy bezpośrednio zainstalować Go Agent.
sudo yum install -y go-agent
Teraz uruchom serwer GoCD i włącz go, aby automatycznie uruchamiał się podczas uruchamiania.
sudo systemctl start go-agent
sudo systemctl enable go-agent
Agent GoCD działający na komputerze lokalnym jest automatycznie włączany po wykryciu.
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.