![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
|
LAMPP mit ftp, openSSL, msmtp, webalizer und phpmyadmin in einer chroot
In diesem Tutorial geht es darum ein LAMPP (Linux: apache+mysql+perl+php) innerhalb einer chroot zu installieren. Darüber hinaus wird erklärt, wie man einen ftp-Server aufsetzt. OpenSSL sowie msmtp, webalizer und phpmyadmin gehören ebenso dazu. Inhaltsverzeichnis: Installation (up) Ein paar Dinge, die ich hier einfach angenommen habe, die dann auf die individuellen Bedürfnisse angepasst werden müssen: Passwort für mysql-user root: deinwunschpasstwortfuermysql Passwort für mysql-user pureftpd: deinftppasswort Verzeichnis für htdocs: /htdocs Verzeichnis für phpmyadmin: /htdocs/phpmyadmin port für apache: 80 port für ftp: 21 port für mysql: 3306 Zu den verwendeten Versionen. Im Laufe der Zeit wird es von jeder Software wohl eine neue Version geben, bei der dann jeweils zu schauen, in wieweit sich etwas gegenüber den hier benutzten Versionen getan haben wird. Ratsam ist es, stets die aktuellen Versionen zu benutzen! buildchroot 3.0 apache 2.2.6 cband 0.9.7.5 mysql 5.0.45 openssl 0.9.8e php 5.2.4 phpMyAdmin 2.11.0 pure-ftpd 1.0.22 ioncube loader 5.1 msmtp 1.4.13 webalizer 2.01-10 Geändert von Jann Hendrik (16.01.2008 um 11:13 Uhr). |
|
|
|
|
|
Nach oben #2 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
|
Vorbereitungen (up)
Begonnen wird mit der buildchroot von sven: Code:
cd /src/ wget http://download.berlios.de/buildroot/buildrootv31.tar.bz2 Code:
tar -xvjf buildrootv31.tar.bz2 Code:
mv Buildrootv3 /chroots/LAMPPBuildroot Code:
cat /etc/resolv.conf > /chroots/LAMPPBuildroot/etc/resolv.conf proc mounten Darüber hinaus wird außerhalb der chroot noch proc gemountet: Code:
mount -tproc proc /chroots/LAMPPBuildroot/proc Zeitzone in der chroot verfügbar machen Um die korrekte Zeit und die korrekte Zeitzone vom Hauptlinux in eine chroot zu übernehmen: Sofern das Verzeichnis noch nicht existieren sollte, erstellen: Code:
mkdir /chroots/LAMPPBuildroot/usr/share Code:
cp /etc/localtime /chroots/LAMPPBuildroot/etc/ cp -a /usr/share/zoneinfo /chroots/LAMPPBuildroot/usr/share/ Update der Programme Nun in die neue chroot wechseln: Code:
chroot /chroots/LAMPPBuildroot /bin/sh Code:
cd src Code:
apt-get update apt-get dist-upgrade apt-get upgrade apt-get install gcc g++ binutils make libc6-dev bin86 \ libncurses5-dev libfreetype6 libfreetype6-dev libjpeg62 \ libjpeg62-dev libungif4g libungif4-dev flex bison \ libgdbm-dev libpng12-dev libttf2 libttf-dev wget \ libxml2-dev bzip2 libbz2-dev libxslt1-dev \ libcurl3 curl libcurl3-dev libmcrypt4 libmcrypt-dev \ libmhash-dev libmhash2 libreadline5 libreadline5-dev \ libc-client-dev libmm14 libmm-dev libtidy-dev libtidy-0.99-0 \ libgdbmg1 libgd-dev perl-modules perl-modules apache (up) Die Installation von Programmen, die selbst kompiliert werden beginnt immer im Verzeichnis /src/ Code:
cd /src/ Code:
wget http://netmirror.org/mirror/apache.org/httpd/httpd-2.2.6.tar.bz2 Code:
tar -xvjf httpd-2.2.6.tar.bz2 Code:
cd /src/httpd-2.2.6 Code:
./configure --prefix=/srv/apache2 --enable-cgi --enable-vhost-alias \ --enable-rewrite --enable-so --enable-info --enable-ssl make && make install Nun wird es noch ein wenig modifiziert. user für apache hinzufügen: Code:
adduser lampp-apache2 Code:
chown -R lampp-apache2:lampp-apache2 /srv/apache2 Code:
su lampp-apache2 rm -R /srv/apache2/htdocs mkdir /srv/apache2/htdocs Code:
vi /srv/apache2/conf/httpd.conf
Code:
[ESC]:wq[Enter] Code:
127.0.0.1 localhost 127.0.0.1 debian Ich habe mich dazu entschieden die htdocs in /htdocs zu haben. Dieses Verzeichnis muss dann noch erstellt werden: Daher zu erst den user zu root wechseln Code:
exit Code:
cd / mkdir htdocs Code:
chown -R lampp-apache2:lampp-apache2 /htdocs/ Code:
su lampp-apache2 cp /srv/apache2/bin/httpd /srv/apache2/bin/lampp-apache2 /srv/apache2/bin/lampp-apache2 exit Code:
echo "<h1>Baustelle</h1>Bitte später wiederkommen." > /htdocs/index.html Dann den apachen wieder stoppen: Code:
killall lampp-apache2 Code:
cd /src wget http://cband.linux.pl/download/mod-cband-0.9.7.5.tgz tar -xzvf mod-cband-0.9.7.5.tgz cd mod-cband-0.9.7.5 ./configure --prefix=/srv/mod_cban --with-apxs=/srv/apache2/bin/apxs make && make install Code:
rm /srv/apache2/cgi-bin/printenv rm /srv/apache2/cgi-bin/test-cgi mysql (up) Nun ist mysql an der Reihe. herunterladen und entpacken: Code:
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz/from/ftp://ftp.fu-berlin.de/unix/databases/mysql/ tar -xvzf mysql-5.0.45.tar.gz Code:
cd /src/mysql-5.0.45 Code:
./configure \ --prefix=/srv/mysql \ --localstatedir=/srv/mysql/mysqldata \ --enable-thread-safe-client \ --enable-local-infile \ --enable-assembler \ --with-comment \ --with-vio \ --with-extra-charsets=all \ --with-gnu-ld \ --with-isam \ --with-unix-socket-path=/tmp/mysql.5.0.sock \ --without-bench \ --without-debug \ --without-docs \ --without-man \ --without-innodb \ --with-charset=utf8 \ --with-collation=utf8_general_ci \ --with-mysqld-user=lampp-mysql \ --with-tcp-port=3306 Code:
make && make install Code:
adduser lampp-mysql Code:
chown -R lampp-mysql:lampp-mysql /srv/mysql Code:
cp /srv/mysql/libexec/mysqld /srv/mysql/libexec/lampp-mysql Code:
cd /lib ln -s /srv/mysql/lib/mysql/libmysqlclient.so.15 ln -s /srv/mysql/lib/mysql/libmysqlclient.so.15.0.0 Code:
ldconfig Code:
su lampp-mysql /srv/mysql/bin/mysql_install_db Code:
cd /srv/mysql mkdir logs Code:
/srv/mysql/libexec/lampp-mysql \ --log-error=/srv/mysql/logs/error.log \ -u lampp-mysql \ --port=3306 \ --socket=/tmp/mysql.sock & Code:
cd /tmp ln -s mysql.sock mysql.5.0.sock Code:
/srv/mysql/bin/mysqladmin -u root password 'deinwunschpasstwortfuermysql' Code:
/srv/mysql/bin/mysql -u root -pdeinwunschpasstwortfuermysql Code:
connect mysql
update user SET Password=PASSWORD('deinwunschpasstwortfuermysql');
Code:
exit mysql beenden: Code:
killall lampp-mysql Code:
/srv/mysql/libexec/lampp-mysql \ --log-error=/srv/mysql/logs/error.log \ -u lampp-mysql \ --port=3306 \ --socket=/tmp/mysql.sock & Code:
exit openssl (up) Zu erst herunterladen und entpacken: Code:
cd /src wget http://www.openssl.org/source/openssl-0.9.8e.tar.gz tar -xzvf openssl-0.9.8e.tar.gz Code:
cd openssl-0.9.8e ./config make && make test && make install Code:
mkdir -p /etc/ssl/private /usr/local/ssl/bin/openssl req -x509 -nodes -newkey rsa:1024 -keyout \ /etc/ssl/private/pure-ftpd.pem \ -out /etc/ssl/private/pure-ftpd.pem chmod 600 /etc/ssl/private/*.pem Code:
/usr/local/ssl/bin/openssl dsaparam -rand -genkey -out myRSA.key 1024 /usr/local/ssl/bin/openssl gendsa -des3 -out myca.key myRSA.key /usr/local/ssl/bin/openssl req -new -x509 -days 365 -key myca.key -out new.crt cd /srv mkdir openssl mv myca.key /srv/openssl/server.key mv new.crt /srv/openssl/server.crt Dann wird in der /srv/apache2/conf/extra/httpd-ssl.conf der vhost auskommentiert. Das betrifft die Zeilen 74 bis 231. Wichtig ist, dass entweder in der httpd-ssl.conf (standardmäßig) oder in der httpd.conf folgendes steht: Code:
Listen 443 Dann sollte in der Datei, in welcher auch die vhosts definiert werden (/srv/apache2/conf/extra/httpd-vhosts.conf) ein Eintrag wie dieser vorhanden sein: Code:
<VirtualHost _default_:443>
DocumentRoot /htdocs/errorssl
ServerName domain.tld
ServerAdmin root@domain.tld
ErrorLog /htdocs/logs/defaultssl-error_log
CustomLog /htdocs/logs/efaultssl_log common
TransferLog logs/defaultssl-access.log
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /srv/openssl/server.crt
SSLCertificateKeyFile /srv/openssl/server.key
<FilesMatch "\.(cgi|shtml|phtml|php|php5|phps)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/srv/apache2/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
Code:
NameVirtualHost *:80 NameVirtualHost *:443 Natürlich muss das Verzeichnis /htdocs/errorssl dann noch erstellt werden - und eine Datei mit Inhalt bekommen! Anschließend muss der apache einmal neugestartet werden. php (up) php-source herunterladen und installieren Code:
cd /src wget http://www.php.net/get/php-5.2.5.tar.bz2/from/de3.php.net/mirror tar -xvjf php-5.2.5.tar.bz2 cd php-5.2.5 ./configure \ --prefix=/srv/php \ --with-mysql=/srv/mysql \ --with-mysqli=/srv/mysql/bin/mysql_config \ --with-config-file-path=/srv/php \ --with-exec-dir=/htdocs \ --with-pear=/srv/php/pear \ --with-xmlrpc \ --with-xsl \ --with-zlib \ --with-zlib-dir=/usr/include/ \ --with-apxs2=/srv/apache2/bin/apxs \ --with-bz2 \ --with-curl \ --enable-bcmath \ --enable-calendar \ --enable-ctype \ --enable-dbase \ --enable-discard-path \ --enable-exif \ --enable-force-cgi-redirect \ --enable-ftp \ --enable-gd-native-ttf \ --enable-inline-optimization \ --enable-mbstring=all \ --enable-shmop \ --enable-sigchild \ --enable-simplexml \ --enable-soap \ --enable-sqlite-utf8 \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-sockets \ --enable-wddx \ --with-gd \ --with-gdbm \ --with-gettext \ --with-kerberos \ --with-jpeg-dir=/usr \ --with-mcrypt \ --with-mhash \ --with-mm \ --with-png-dir=/usr \ --with-readline \ --with-iconv \ --with-ttf \ --with-pdo-sqlite \ --with-pdo-mysql=/srv/mysql \ --with-tidy \ --with-kerberos \ --with-imap \ --with-imap-ssl \ --with-openssl Code:
make make test killall lampp-apache2 make install Code:
su lampp-apache2 Code:
vi /srv/apache2/conf/httpd.conf (Zeile 308+309) Code:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Code:
DirectoryIndex index.html Code:
DirectoryIndex index.html index.php index.htm Dann die Zeile 388 auskommentieren. vhost werden dann in der Datei /chroots/MAILBuildroot/srv/apache2/conf/extra/httpd-vhosts.conf angelegt. Nun muss vor einem start mind. ein vhost definiert sein: Code:
vi /srv/apache2/conf/extra/httpd-vhosts.conf Code:
<VirtualHost *:80>
ServerAdmin root@domain.tld
DocumentRoot "/htdocs"
ServerName domain.tld
ServerAlias www.domain.tld
ErrorLog "logs/domain.tld-error_log"
CustomLog logs/domain.tld_log common"
</VirtualHost>
Apachen starten: Code:
/srv/apache2/bin/lampp-apache2 Code:
exit phpmyadmin (up) Code:
cd /htdocs su lampp-apache2 wget http://belnet.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.2.1-all-languages.tar.bz2 tar -xvjf phpMyAdmin-2.11.2.1-all-languages.tar.bz2 exit mv phpMyAdmin-2.11.2.1-all-languages.tar.bz2 /src/phpMyAdmin-2.11.2.1-all-languages.tar.bz2 su lampp-apache2 mv phpMyAdmin-2.11.2.1-all-languages/ phpmyadmin cd phpmyadmin/ Code:
cp config.sample.inc.php config.inc.php Mein Inhalt lautet: Code:
$cfg['Servers'][$i]['port'] = '3306'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['extension'] = 'mysql'; $cfg['Servers'][$i]['compress'] = FALSE; $cfg['Servers'][$i]['controluser'] = 'root'; $cfg['Servers'][$i]['controlpass'] = 'PASSWORT'; $cfg['Servers'][$i]['auth_type'] = 'http'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'PASSWORT'; $cfg['Servers'][$i]['only_db'] = ''; $cfg['Servers'][$i]['verbose'] = ''; $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['verbose_check'] = TRUE; $cfg['Servers'][$i]['AllowRoot'] = TRUE; $cfg['Servers'][$i]['AllowDeny']['order'] = ''; $cfg['Servers'][$i]['AllowDeny']['rules'] = array(); pureftp (up) Herunterladen und entpacken: Code:
wget http://download.pureftpd.org/pub/pure-ftpd/releases/snapshots/pure-ftpd-1.0.22.tar.gz tar -xzvf pure-ftpd-1.0.22.tar.gz Code:
cd pure-ftpd-1.0.22 Code:
./configure \ --prefix=/srv/pureftpd/ \ --without-inetd \ --with-largefile \ --with-ratios \ --with-quotas \ --with-ftpwho \ --with-peruserlimits \ --with-tls \ --with-certfile=/etc/ssl/private/pure-ftpd.pem \ --with-mysql=/srv/mysql/ make install-strip Code:
cat /etc/passwd | grep lampp-apache2 dann wird eine ftp-user-Gruppe erzeugt. Der Vorteil ist der, dass der ftp-user und der apache-user dann in der gleichen Gruppe sind und somit weitere Probleme beim späteren Betrieb reduziert werden. Code:
groupadd -g 1000 ftpgroup useradd -u 1000 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser Code:
mkdir /etc/pure_ftpd/ mkdir /etc/pure_ftpd/conf Code:
echo "YES" > /etc/pure_ftpd/conf/CreateHomeDir echo "YES" > /etc/pure_ftpd/conf/ChrootEveryone Code:
vi /etc/pure_ftpd/mysql.conf Code:
MYSQLSocket /tmp/mysql.sock #MYSQLServer localhost #MYSQLPort 3306 MYSQLUser pureftpd MYSQLPassword deinftppasswort MYSQLDatabase pureftpd #MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext MYSQLCrypt md5 MYSQLDefaultUID 1000 MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") Code:
CREATE DATABASE pureftpd; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'deinftppasswort'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost.localdomain' IDENTIFIED BY 'deinftppasswort'; FLUSH PRIVILEGES; Code:
CREATE TABLE `ftpd` (
`User` varchar(16) NOT NULL default '',
`status` enum('0','1') NOT NULL default '1',
`Password` varchar(64) NOT NULL default '',
`Uid` varchar(11) NOT NULL default '1000',
`Gid` varchar(11) NOT NULL default '1000',
`Dir` varchar(128) NOT NULL default '/htdocs/',
`ULBandwidth` smallint(5) NOT NULL default '0',
`DLBandwidth` smallint(5) NOT NULL default '0',
`comment` tinytext NOT NULL,
`ipaccess` varchar(15) NOT NULL default '*',
`QuotaSize` smallint(5) NOT NULL default '0',
`QuotaFiles` int(11) NOT NULL default '0',
UNIQUE KEY `User` (`User`)
);
Code:
INSERT INTO `pureftpd`.`ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`)
VALUES ('user', '1', MD5('password'), '1000', '1000', '/htdocs/', '0', '0', '', '*', '0', '0');
Code:
cp /srv/pureftpd/sbin/pure-ftpd /srv/pureftpd/sbin/lampp-ftp Code:
/srv/pureftpd/sbin/pure-ftpd2 --tls=2 -0 stats:/srv/pureftpd/logs/pureftpd.log -S21 -l mysql:/etc/pure_ftpd/mysql.conf -A -E -D -c50 -C5 & ioncube (up) Hier nach der aktuellen Version schauen. Die Linux (x86) als tar.bz2 ist die Ggesuchte! Code:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.bz2 tar -xvjf ioncube_loaders_lin_x86.tar.bz2 cd ioncube mkdir /srv/apache2/modules cp ioncube_loader_lin_5.1.so /srv/apache2/modules Code:
[Zend] zend_extension = /etc/php5/apache2/ioncube_loader_lin_5.1.so (in der chroot) Code:
killall lampp-apache2 /srv/apache2/bin/apachectl start This program makes use of the Zend Scripting Language Engine: Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies with the ionCube PHP Loader v3.1.23, Copyright (c) 2002-2006, by ionCube Ltd. und unter Additional Modules ist der ioncube Loader gelistet. msmtp (up) Das ganze beschreibt wie man msmtp im Hauptlinux installiert. Wenn das erfolgreich geklappt hat, kann man in crontab -e oben einfach anstatt root, die emailadresse eintragen an die man alle meldungen von crons geschickt haben will. Wenn man gewisse crons keinerlei ausgaben machen lassen will, einfach ein > /dev/null hintendran, das sollte reichen. Installation von msmtprc Code:
cd /src/ wget -dv http://surfnet.dl.sourceforge.net/sourceforge/msmtp/msmtp-1.4.13.tar.bz2 tar -xjvf msmtp-1.4.13.tar.bz2 cd msmtp-1.4.13 ./configure --prefix=/srv/msmtp make make install cd /srv/msmtp mkdir etc cd etc touch msmtprc vi msmtprc Code:
# Set default values for all following accounts. defaults tls off logfile /var/log/msmtp.log syslog LOG_MAIL # A freemail service account rootMailAccount host localhost from email@domain.tld auth on user email@domain.tld password pwDerEmailAdresse # Set a default account account default : rootMailAccount Jetzt noch das alte sendmail sichern und mittels einem symlink das neue benutzen: Code:
cd /usr/sbin/ mv sendmail sendmail.bak ln -s /srv/msmtp/bin/msmtp /usr/bin/sendmail ln -s /srv/msmtp/bin/msmtp /usr/sbin/sendmail ln -s /srv/msmtp/lib/msmtp /usr/lib/sendmail ein .sh-script erstellen (chmod nicht vergessen) und folgendes reinschreiben: Code:
echo -e "Subject: Test" > /mail.txt echo -e "\n" >> /mail.txt echo "Das ist ein Test" >> /mail.txt cat /mail.txt | /usr/sbin/sendmail -v empfänger@domain.tld rm /mail.txt In der crontab Code:
crontab -e Code:
MAILTO=empfänger@domain.tld dann php configure nochmal neu ausführen und apache neustarten! Code:
cd /src/php-5.2.4 make clean make distclean ./configure --prefix=/srv/php --with-mysql=/srv/mysql --with-mysqli=/srv/mysql/bin/mysql_config \ --with-_lib=lib --with-config-file-path=/srv/php --with-exec-dir=/htdocs --with-pear=/srv/php/pear \ --with-xml --with-xmlrpc --with-xsl --with-zip --with-zlib --with-zlib-dir=/usr/include/ \ --with-apxs2=/srv/apache2/bin/apxs --with-bz2 --with-curl --with-freetype --with-ftp \ --enable-bcmath --enable-calendar --enable-ctype --enable-dbase --enable-discard-path \ --enable-exif --enable-filepro --enable-force-cgi-redirect --enable-ftp --enable-gd-imgstrttf \ --enable-gd-native-ttf --enable-inline-optimization --enable-mbstr-enc-trans --enable-mbstring=all \ --enable-memory-limit --enable-shmop --enable-sigchild --enable-simplexml --enable-soap --enable-sqlite-utf8 \ --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --enable-track-vars --enable-trans-sid \ --enable-wddx --with-gd --with-gdbm --with-gif-dir=/usr --with-gettext --with-kerberos --with-jpeg-dir=/usr \ --with-mcrypt --with-mhash --with-mm --with-png-dir=/usr --with-readline --with-iconv --with-ttf \ --with-pdo-sqlite --with-pdo-mysql=/srv/mysql --with-tidy --with-imap --with-imap-ssl --with-openssl killall lampp-apache2 make && make test && make install su lampp-apache2 /srv/apache2/bin/lampp-apache2 exit webalizer (up) webalizer wird zwar nicht mehr weiterentwickelt, stellt aber noch immer ein sehr angenehmes tool dar, um die Besucherzahlen grafisch darzustellen. Code:
wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-10-src.tar.bz2 tar -xjvf webalizer-2.01-10-src.tar.bz2 cd webalizer-2.01-10 ./configure --prefix=/srv/webalizer --with-language=german make make install cron (up) Um den cron-Dienst in der chroot nutzen zu können, muss dieser seperat gestartet werden. kopieren: Code:
cd /usr/sbin Code:
cp cron lampp-cron Code:
./lampp-cron Geändert von Jann Hendrik (22.01.2008 um 09:39 Uhr). |
|
|
|
|
|
Nach oben #3 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
|
Wartung (up)
Im zweiten Teil des Tutorials gehe ich davon aus, dass die Installation geklappt hat. Fertig ist man damit jedoch nicht! Es kommen immer wieder einige Punkte Arbeit auf einen zu. Einige sollen hier angerissen werden. Dienste starten (up) Um einzelne Dienste zu starten hier eine kleine Übersicht: apache: Code:
/srv/apache2/bin/lampp-apache2 Code:
su lampp-mysql /srv/mysql/libexec/lampp-mysql \ --log-error=/srv/mysql/logs/error.log \ -u lampp-mysql \ --port=3306 \ --socket=/tmp/mysql.sock & exit Code:
/srv/pureftpd/sbin/lampp-ftp --tls=2 -0 stats:/srv/pureftpd/logs/pureftpd.log -S21 -l mysql:/etc/pure_ftpd/mysql.conf -A -E -D -c50 -C5 & Code:
/usr/sbin/lampp-cron Code:
proc: Code:
mount -tproc proc /proc/ Dienste stoppen (up) Um gewisse Dienste zu stoppen: apache: Code:
killall lampp-apache2 Code:
killall lampp-mysql pureftp: Code:
killall pure-ftpd2 Code:
killall lampp-cron Code:
killall lampp-lighttpd Code:
umount /chroots/LAMPPBuildroot/proc/ Domains (up) Subdomains und Domains werden als vHost in der Datei /chroots/LAMPPBuildroot/srv/apache2/conf/extra/httpd-vhosts.conf eingetragen. php.ini und httpd.conf (up) Die Datei php.ini befindet sich unter diesem Pfad /chroots/LAMPPBuildroot/srv/php/php.ini Die Datei httpd.conf befindet sich unter diesem Pfad /srv/apache2/conf/httpd.conf ftp-Verbindung (up) dazu muss als Servertyp 'FTP über TLS (Explizite Verschlüsselung)' eingestellt werden, sowie als Transfermodus, der 'passive Modus' aktiviert werden. apache-Tricks (up) mittels dem apachectl script, kann man folgendes beim apache machen: startet den apache Code:
/srv/apache2/bin/apachectl start Code:
/srv/apache2/bin/apachectl stop Code:
/srv/apache2/bin/apachectl restart Code:
/srv/apache2/bin/apachectl configtest Code:
/srv/apache2/bin/apachectl graceful webalizer nutzen (up) um die webalizer-Statistiken zu aktualsisieren empfiehlt sich folgendes in ein Skript zu schreiben und per cronjob aufzurufen: Code:
cd /htdocs/webalizer/ /srv/webalizer/bin/webalizer -n "www.domain.tld" /srv/apache2/logs/access_log >> /scripts/logs/webalizer.log db-backup (up) Wie man mit der shell ein db-Backup machen kann wird in diesem Tutorial ausführlich beschrieben: -> [shell] datenbank backup per konsole shell-Skript zum starten (up) Ein solches Shell-Skript könnte zB so aussehen: Code:
#!/bin/sh # proc mount -tproc proc /proc/ # apache /srv/apache2/bin/lampp-apache2 # cron /usr/sbin/lampp-cron # ftp /srv/pureftpd/sbin/lampp-ftp --tls=2 -0 stats:/srv/pureftpd/logs/pureftpd.log -S21 -l mysql:/etc/pure_ftpd/mysql.conf -A -E -D -c50 -C5 & # mysql /srv/mysql/libexec/lampp-mysql --log-error=/srv/mysql/logs/error.log -u lampp-mysql --port=3306 --socket=/tmp/mysql.sock & shell-Skript zum beenden (up) Das Skript um die komplette chroot zu beenden sieht so aus: Code:
#!/bin/sh # proc umount /proc/ # apache killall lampp-apache2 # cron killall lampp-cron # ftp killall lampp-ftp # mysql killall lampp-mysql Geändert von Jann Hendrik (16.01.2008 um 11:17 Uhr). |
|
|
|
|
|
Nach oben #4 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
|
Jetzt solltet Ihr eigentlich in der Lage sein, eine LAMPP-chroot zu erstellen. Ich gehe allerdings davon aus, dass der Regelfall eintritt und Probleme auftauchen. Für diesen Fall - und auch für den Fall, dass ihr Fragen zu diesem Tutorial haben solltet, so schreibt bitte einen Beitrag im Server-Forum mit einem Verweis auf dieses Tutorial.
Danke. Natürlich habe ich mir beim Erstellen dieses Tutorials große Mühe gegeben. Kleine Fehler lassen sich aber bei dem Umfang nicht immer vermeiden, auch wenn es schon vor der Veröffentlichung mehrfach von verschiedenen Personen getestet wurde. Weiterhin gibt es - auch für Kleinigkeiten - von euch möglicherweise gute Ideen, wie man das eine oder andere besser umsetzen oder vereinfachen könnte. Über Mitteilungen dieser Art bin ich dankbar. Ich hoffe, dass ich Euch hier etwas weiterhelfen konnte. Grüße Jann Hendrik |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|