Zadania w pracy są różne.
Mnie przyszło dziś uruchomić na jednym z serwerów aplikację Redmine. Jest to program webowy, w wersji do samodzielnego utrzymania. Służy do sprawnego zarządzania projektami. Mamy tutaj do dyspozycji takie elementy jak wykres Grantta, kalendarze czy wiki.
Zanim przystąpiłem do pracy zajrzałem do dokumentacji. Najpierw trzeba przeczytać, sprawdzić co i jak należy wykonać. Oficjalna dokumentacja wydawała się być czytelna, prosta. Po dwukrotnym przeczytaniu przystąpiłem do instalacji. Krok po kroku postępując zgodnie z informacjami w dokumencie. Już po chwili napotkałem pierwsze problemy. Najpierw brak odpowiednich środowisk, następnie komponentów, potem konkretnych wersji komponentów. Zaczęło się poszukiwanie w sieci. Patrzenie na fora, sprawdzanie jak inni rozwiązali problemy, które teraz napotkałem ja. Brnąłem przez kolejne strony w Internecie, kolejne zmiany, instalowane elementy. Cały dzień w ogniu walki. Zrezygnowany, po prawie ośmiu godzinach pracy szukając kolejnego elementu znalazłem to. Rozwiązanie wszystkich moich problemów, jak się okazało. Prosty skrypt w bashu, który automatycznie zainstalował i skonfigurował wszystko, czego potrzebowałem. Dosłownie. Wystarczyło w odpowiednie miejsca wkleić pożądane hasła dostępowe. Reszta "robi się sama". A co dokładnie robi skrypt? Słowem komentarza (w bashu znakiem "#" określa się komentarz - poza linią "#!/bin/{zmienna}" - jest to wybór powłoki systemowej, w jakiej uruchamiany ma być skrypt - tutaj sh):
I to wszystko! Wystarczyło pięć minut pracy tego skryptu i w pasku adresowym można było wpisać <adres_serwera>/redmine by wyświetliła się główna strona aplikacji.
Mnie przyszło dziś uruchomić na jednym z serwerów aplikację Redmine. Jest to program webowy, w wersji do samodzielnego utrzymania. Służy do sprawnego zarządzania projektami. Mamy tutaj do dyspozycji takie elementy jak wykres Grantta, kalendarze czy wiki.
Zanim przystąpiłem do pracy zajrzałem do dokumentacji. Najpierw trzeba przeczytać, sprawdzić co i jak należy wykonać. Oficjalna dokumentacja wydawała się być czytelna, prosta. Po dwukrotnym przeczytaniu przystąpiłem do instalacji. Krok po kroku postępując zgodnie z informacjami w dokumencie. Już po chwili napotkałem pierwsze problemy. Najpierw brak odpowiednich środowisk, następnie komponentów, potem konkretnych wersji komponentów. Zaczęło się poszukiwanie w sieci. Patrzenie na fora, sprawdzanie jak inni rozwiązali problemy, które teraz napotkałem ja. Brnąłem przez kolejne strony w Internecie, kolejne zmiany, instalowane elementy. Cały dzień w ogniu walki. Zrezygnowany, po prawie ośmiu godzinach pracy szukając kolejnego elementu znalazłem to. Rozwiązanie wszystkich moich problemów, jak się okazało. Prosty skrypt w bashu, który automatycznie zainstalował i skonfigurował wszystko, czego potrzebowałem. Dosłownie. Wystarczyło w odpowiednie miejsca wkleić pożądane hasła dostępowe. Reszta "robi się sama". A co dokładnie robi skrypt? Słowem komentarza (w bashu znakiem "#" określa się komentarz - poza linią "#!/bin/{zmienna}" - jest to wybór powłoki systemowej, w jakiej uruchamiany ma być skrypt - tutaj sh):
#!/bin/sh
set -e
MYSQL_VERSION=5.5
[ -z "${MYSQL_PASSWD}" ] && MYSQL_PASSWD=mysql
[ -z "${REDMINE_PASSWD}" ] && REDMINE_PASSWD=redmine
mysql_install()
{
cat <<EOF | sudo debconf-set-selections
mysql-server-${MYSQL_VERSION} mysql-server/root_password password ${MYSQL_PASSWD}mysql-server-${MYSQL_VERSION} mysql-server/root_password_again password ${MYSQL_PASSWD}EOF sudo apt install -y mysql-server
}
redmine_install()
{
cat <<EOF | sudo debconf-set-selections
redmine redmine/instances/default/dbconfig-install boolean trueredmine redmine/instances/default/database-type select mysqlredmine redmine/instances/default/mysql/admin-pass password ${MYSQL_PASSWD}redmine redmine/instances/default/password-confirm password ${MYSQL_PASSWD}redmine redmine/instances/default/mysql/app-pass password ${REDMINE_PASSWD}redmine redmine/instances/default/app-password-confirm password ${REDMINE_PASSWD}EOF
sudo apt install -y redmine-mysql
}
apache_install()
{
sudo apt install -y apache2 libapache2-mod-passenger bundler
# Overwrite passenger.conf. cat << EOF | sudo tee /etc/apache2/mods-available/passenger.conf
<IfModule mod_passenger.c> PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini PassengerDefaultRuby /usr/bin/ruby PassengerDefaultUser www-data RailsBaseURI /redmine</IfModule>EOF cd /var/www/html
sudo ln -s /usr/share/redmine/public redmine
sudo chown -R www-data:www-data /usr/share/redmine
cat << EOF | sudo tee /etc/apache2/sites-available/redmine.conf
<VirtualHost _default_:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <Directory /redmine> Options FollowSymLinks PassengerResolveSymlinksInDocumentRoot on AllowOverride None </Directory></VirtualHost>EOF
sudo a2enmod passenger
sudo a2enmod ssl
sudo a2ensite redmine
sudo systemctl enable apache2
sudo systemctl restart apache2
}
redmine_main()
{
mysql_install
redmine_install
apache_install
}
redmine_main
MYSQL_VERSION=5.5
[ -z "${MYSQL_PASSWD}" ] && MYSQL_PASSWD=mysql
[ -z "${REDMINE_PASSWD}" ] && REDMINE_PASSWD=redmine
mysql_install()
{
cat <<EOF | sudo debconf-set-selections
mysql-server-${MYSQL_VERSION} mysql-server/root_password password ${MYSQL_PASSWD}mysql-server-${MYSQL_VERSION} mysql-server/root_password_again password ${MYSQL_PASSWD}EOF sudo apt install -y mysql-server
}
redmine_install()
{
cat <<EOF | sudo debconf-set-selections
redmine redmine/instances/default/dbconfig-install boolean trueredmine redmine/instances/default/database-type select mysqlredmine redmine/instances/default/mysql/admin-pass password ${MYSQL_PASSWD}redmine redmine/instances/default/password-confirm password ${MYSQL_PASSWD}redmine redmine/instances/default/mysql/app-pass password ${REDMINE_PASSWD}redmine redmine/instances/default/app-password-confirm password ${REDMINE_PASSWD}EOF
sudo apt install -y redmine-mysql
}
apache_install()
{
sudo apt install -y apache2 libapache2-mod-passenger bundler
# Overwrite passenger.conf. cat << EOF | sudo tee /etc/apache2/mods-available/passenger.conf
<IfModule mod_passenger.c> PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini PassengerDefaultRuby /usr/bin/ruby PassengerDefaultUser www-data RailsBaseURI /redmine</IfModule>EOF cd /var/www/html
sudo ln -s /usr/share/redmine/public redmine
sudo chown -R www-data:www-data /usr/share/redmine
cat << EOF | sudo tee /etc/apache2/sites-available/redmine.conf
<VirtualHost _default_:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <Directory /redmine> Options FollowSymLinks PassengerResolveSymlinksInDocumentRoot on AllowOverride None </Directory></VirtualHost>EOF
sudo a2enmod passenger
sudo a2enmod ssl
sudo a2ensite redmine
sudo systemctl enable apache2
sudo systemctl restart apache2
}
redmine_main()
{
mysql_install
redmine_install
apache_install
}
redmine_main
I to wszystko! Wystarczyło pięć minut pracy tego skryptu i w pasku adresowym można było wpisać <adres_serwera>/redmine by wyświetliła się główna strona aplikacji.
Komentarze
Prześlij komentarz