[Bash] Autokonfigurator dla Ubuntu 8.04
: 24 cze 2008, 03:45
Witam, mam taki w sumie problem ale przy okazji propozyjcję.
Używam Ubuntu w sumie od niedawna, wcześniej pracowałem na innej dystrybucji ale bardzo rzadko w zasadzie. W obecnym czasie programuję w PHP z wykorzystaniem Zend Framework i co jakiś czas wpadam na nowe pomysły jeśli chodzi o ułatwianie sobie życia na Ubuntu. System ten jest dość prosty w obsłudze i można w sumie zrobić z nim prawie wszystko jednak natknąłem się na pewne ograniczenia jeśli chodzi o język Bash-a. Uczę się go również od nie dawna (tzn kiedys się uczyłem).
Napisałem skrypt w Bash-u który:
tworzy strukturę katalogów (dla aktualnego użytkownika ale można to zmienić w pliku konfiguracyjnym), tworzy niektóre pliki projektu lub kopiuje aktualnie używane do folderu z projektami itd,
robi backupy konfiguracji apache2, pliku hosts, (pidngina również jeśli jest), itd
instaluje serwer baz danych MySQL, PHP, apache2, i inne przydatne pakiety jeśli nie zostały wcześniej zainstalowane, etc.
Wyjaśnię jak to działa może.
Po wpisanieu w konsoli ./install.sh tworzy sie struktura katalogow, kopiuja sie pliki niektore i robia backupy konfiguracji apache2, hosts, etc. jest tego troche... aha i sprawdza czy zainstalowane sa dane pakiety jak nie to instaluje
Po tej operacji wpisujemy ./addsite.sh -a default i skrypt pyta użytkownika o nazwę strony, wpisujemy np coyote.pl i enter, następnie uruchamiamy firefox-a i wpisujemy coyote.pl lub http://www.coyote.pl i strona jest tam już zainstalowana (praktycznie nie musimy nawet restartować serwera, konfiguracja apache2 i hosts, a2ensite oraz przeładowanie apache2 jest całkowicie zautomatyzowane)
lub w przypadku projektu zend framework wpisujemy ./addsite.sh -a zend i skrypt pyta o nazwe strony np pikacz.pl, a nastepnie o nazwe projektu i wpisujemy np ZF.Pikacz.Project i tworzony jest projekt domyslny dla zend framework który następnie dowolnie rozbudowujemy lub wprowadzamy zmiany w szablonach itd, to np już oszczędza czas na tworzenie systemu logowania, konfiguracji, systemu news-ow itd.
addsite.sh robi wpisy i za kazdym razem backup pliku hosts
po wpisaniu w konsole np ./uninstall.sh wszystko wraca do starej rzeczywistości, usuwane są stworzone podczas instalacji katalogi i pliki, pozostaje jedynie ukryty folder .Back.Up w którym pozostają backupy tworzone podczas instalacji i inne
myslę że takie coś mogłoby być przydatne również dla innych dlatego opisuję na tym forum co już robi zestaw skryptów, zainteresowanych współpracą w rozbudowie rozwiązania proszę o kontakt
Na koniec napiszę jakich informacji potrzebuję i na jaki natknąłem się problem. Otóż chciałbym by skrypt również zmieniał trochę menu w Gnome i wiem że w python-ie są do tego nawet rozwiązania zrobione jednak w bashu nie mogę się doszukać jak to zrobić, gdzie są pliki xml czy jakie kolwiek konfiguracyjne dla menu Gnome i jak to zrobić w bashu.
Ponadto skrypt instalacyjny dodaje również wpisy do sources.list ale wyświetla brak certyfikatu czy coś z niektórych repo (które są wyraźnie potrzebne) i jak to obejść.
Używam Ubuntu w sumie od niedawna, wcześniej pracowałem na innej dystrybucji ale bardzo rzadko w zasadzie. W obecnym czasie programuję w PHP z wykorzystaniem Zend Framework i co jakiś czas wpadam na nowe pomysły jeśli chodzi o ułatwianie sobie życia na Ubuntu. System ten jest dość prosty w obsłudze i można w sumie zrobić z nim prawie wszystko jednak natknąłem się na pewne ograniczenia jeśli chodzi o język Bash-a. Uczę się go również od nie dawna (tzn kiedys się uczyłem).
Napisałem skrypt w Bash-u który:
tworzy strukturę katalogów (dla aktualnego użytkownika ale można to zmienić w pliku konfiguracyjnym), tworzy niektóre pliki projektu lub kopiuje aktualnie używane do folderu z projektami itd,
robi backupy konfiguracji apache2, pliku hosts, (pidngina również jeśli jest), itd
instaluje serwer baz danych MySQL, PHP, apache2, i inne przydatne pakiety jeśli nie zostały wcześniej zainstalowane, etc.
Wyjaśnię jak to działa może.
Po wpisanieu w konsoli ./install.sh tworzy sie struktura katalogow, kopiuja sie pliki niektore i robia backupy konfiguracji apache2, hosts, etc. jest tego troche... aha i sprawdza czy zainstalowane sa dane pakiety jak nie to instaluje
Po tej operacji wpisujemy ./addsite.sh -a default i skrypt pyta użytkownika o nazwę strony, wpisujemy np coyote.pl i enter, następnie uruchamiamy firefox-a i wpisujemy coyote.pl lub http://www.coyote.pl i strona jest tam już zainstalowana (praktycznie nie musimy nawet restartować serwera, konfiguracja apache2 i hosts, a2ensite oraz przeładowanie apache2 jest całkowicie zautomatyzowane)
lub w przypadku projektu zend framework wpisujemy ./addsite.sh -a zend i skrypt pyta o nazwe strony np pikacz.pl, a nastepnie o nazwe projektu i wpisujemy np ZF.Pikacz.Project i tworzony jest projekt domyslny dla zend framework który następnie dowolnie rozbudowujemy lub wprowadzamy zmiany w szablonach itd, to np już oszczędza czas na tworzenie systemu logowania, konfiguracji, systemu news-ow itd.
addsite.sh robi wpisy i za kazdym razem backup pliku hosts
po wpisaniu w konsole np ./uninstall.sh wszystko wraca do starej rzeczywistości, usuwane są stworzone podczas instalacji katalogi i pliki, pozostaje jedynie ukryty folder .Back.Up w którym pozostają backupy tworzone podczas instalacji i inne
myslę że takie coś mogłoby być przydatne również dla innych dlatego opisuję na tym forum co już robi zestaw skryptów, zainteresowanych współpracą w rozbudowie rozwiązania proszę o kontakt
Na koniec napiszę jakich informacji potrzebuję i na jaki natknąłem się problem. Otóż chciałbym by skrypt również zmieniał trochę menu w Gnome i wiem że w python-ie są do tego nawet rozwiązania zrobione jednak w bashu nie mogę się doszukać jak to zrobić, gdzie są pliki xml czy jakie kolwiek konfiguracyjne dla menu Gnome i jak to zrobić w bashu.
Ponadto skrypt instalacyjny dodaje również wpisy do sources.list ale wyświetla brak certyfikatu czy coś z niektórych repo (które są wyraźnie potrzebne) i jak to obejść.