= Instalacja na dowolnym systemie Linux = Instalacja systemu może być wykonana w zasadzie na dowolnym systemie Linux/Unix na którym jesteśmy w stanie dostarczyć wymagane przez system pakiety. Poniżej opisany został proces instalacji krok po kroku. == 1. Instalacja wymaganych pakietów == Poniżej została zamieszczona odpowiednia lista, można jej użyć to stworzenia własnego skryptu instalacyjnego. W przypadku pakietów Postgres oraz PHP należy zwrócić uwagę na to aby były we właściwych wersjach (opisane w komentarzu). {{{ #Base tools ssh vim fonty mc nmap ngrep sed wget gzip adduser useradd bzip2 unzip rsync less # System tools sudo iptables cron iproute tcpdump # Additional tools apt-show-versions gcc g++ cpp make # Backup tools mkisofs hdparm dvd+rw-tools mt-st smbfs autofs # Processing tools imagemagick gs-common html2ps latex2rtf antiword gnuhtml2latex # Services postgresql # >= 8.3 apache2 php5 # >= 5.2.6 php5-cli php-pear php5-pgsql php5-imap php5-dev # zawiera narzędzia developerskie php m.in. plik phpize php5-gd php5-sybase php5-odbc subversion openssl ssl-cert # lub inny pakiet z certyfikatami dla apache # Pakiety PEAR, mogą być wyższe niż wskazane pear channel-update pear.php.net pear install Console_Getopt pear install Auth_SASL pear install Mail_Mime pear install Net_SMTP pear install Crypt_Rc4 pear install Date pear install HTTP_Request pear install Mail pear install Mail_Mime pear install Mail_MimeDecode pear install Net_SMTP pear install Net_Socket pear install Net_URL pear install SOAP-0.11.0 pear install OLE-0.6.1 pear install Spreadsheet_Excel_Writer-0.9.1 pear install Mail_Queue pear install HTML_Template_Flexy # Instalacja dodatkowych modułów, których może nie być w pakietach # Aby zainstalować należy użyć paczki ed-lenny-installer.tar.gz, rozpakować i wejść do katalogu katalogu w którym znajduje się skrypt install.sh. # Zend Optimizer ./bin/optimizer.sh # Rozszerzenie POP3 dla php ./bin/pop3.sh cp conf/pop3.ini /etc/php5/conf.d/ }}} == 2. Zakladanie kont i konfiguracja grup dla edokumenty == Dla poprawnego i bezpiecznego działania systemu wymagane jest założenie odpowiednich kont i grup systemowych. Przyjęliśmy że możliwość zapisu dla serwera będzie realizowana w oparciu o grupę edokumenty do której dopisywany jest użytkownik serwera (np. www-data, apache, http). {{{ adduser --ingroup users edokumenty groupadd edokumenty adduser edokumenty -g edokumenty adduser www-data -g edokumenty }}} == 3. Aktywacja modulow Apache == Należy upewnić się że poniżej wymienione moduły zostały aktywowane w apache: * php5 * ssl * rewrite * userdir * vhost_alias == 4. Konfiguracja Apache == Zalecane miejsce na system to katalog ''home/edokumenty'', można jednak wybrać inny katalog na instalację ważne by wówczas odpowiednio skonfigurować tą lokalizację: {{{ ServerAdmin admins@betasoft.pl ServerSignature Off DocumentRoot /home/edokumenty/public_html DirectoryIndex index.html index.cgi index.pl index.php index.xhtml engine # Aliasy dla domyślnych systemów Alias /edokumenty /home/edokumenty/public_html # Handler dla plików php SetHandler application/x-httpd-php # Domyślny katalog dla redirect Options -Indexes FollowSymLinks MultiViews AllowOverride Options Order allow,deny allow from all }}} Dodatkowo należy umożliwić większy limit dla żądań HTTP {{{ echo "LimitRequestFieldSize 16384" >> /etc/apache2/apache2.conf }}} == 5. Konfiguracja PHP == Oto przykładowy skrypt zmieniający odpowiednie ustawienia w php.ini. Warto zwrócić uwagę aby PHP consolowe (może mieć osobną konfigurację) również posiadało te ustawienia. default_charset = UTF-8 memory_limit = 96M upload_max_filesize = 32M post_max_size = 32M mbstring.internal_encoding = UTF-8 enable_dl = On == 6. Konfiguracja PostgreSQL 8.3 == W pliku postgresql.conf: {{{ default_with_oids = on }}} W pliku pg_hba.conf dodajemy poniższą linijkę, lub w dowolny inny sposób zapewniamy możliwość łączenia się przez socket z bazą edokumenty bez hasła. {{{ local edokumenty all trust }}} Tworzymy użytkowników (wszystkie pytania przy tworzeniu odpowiadamy NIE - N) i bazę danych i dodajemy język plpgsql {{{ sudo -u postgres createuser http sudo -u postgres createuser edokumenty sudo -u postgres createdb -E UTF8 edokumenty -O edokumenty sudo -u postgres createlang -d edokumenty plpgsql }}} == 7. Utworzenie public_html i pozostałych katalogów == Należy utworzyć wymagane katalogi oraz umożliwić zapis do nich TYLKO na czas instalacji procesowi serwera {{{ cd $INSTALL_DIR chgrp edokumenty ~edokumenty chmod g+w ~edokumenty mkdir -p ~edokumenty/public_html/apps/edokumenty chgrp edokumenty ~edokumenty/public_html/apps/edokumenty chmod g+w ~edokumenty/public_html/apps/edokumenty cp lib/engine ~edokumenty/public_html/ chown edokumenty:users -R ~edokumenty/public_html }}} == Konfiguracja domyślnego backupu == Polecene jest ustawienie domyślnych skryptów do crona (można je znaleźć w paczce instalatora dla Debian). Skrypty zrucają bazę danych i pliki używane przez system. Najczęściej polecamy aby podmontować pod katalog /mnt/backup jakiś dodatkowy dysk (może być zewnętrzny). Więcej o backapach znajdziesz w odpowiedniej sekcji wiki. {{{ ./bin/mk_backup_dirs.sh cd $INSTALL_DIR cp lib/backup/backup_db /etc/cron.daily/ cp lib/backup/backup_repos /etc/cron.daily/ cp conf/exclude.conf /etc/backup cp conf/backup.conf /etc/backup }}}