Linux+Apache+Mysql+PHP typische Konfiguration
Debugging-Umgebung: Redhat9.0 Apache1.3.29 Mysql3.23.58 PHP4.3.4
Ich werde nicht über die Installation des Linux-Systems sprechen Dies ist eine grundlegende Fähigkeit. Tatsächlich sollte dieser Artikel auf andere Linux-Systeme wie Redhat anwendbar sein. Sie müssen lediglich die von mir bereitgestellte Methode beherrschen. Denken Sie daran, bei der Installation von Redhat9.0 nicht die Systemstandards Apache, MySQL, PHP und zugehörige Software zu installieren. Wenn es bereits installiert ist, löschen Sie das installierte Paket bitte mit rpm -e *.
1. Installieren Sie Mysql3.23.58
Um ehrlich zu sein, ist es auch eine praktikablere Möglichkeit, das von der offiziellen Mysql-Website bereitgestellte RPM-Paket zu installieren Seine offizielle Website ist im Grunde die gleiche wie das TAR-Paket, was ich bevorzuge. Zumindest wenn Sie das RPM-Paket installieren, wird die MySQL-Bibliotheksdatei beim anschließenden Debuggen nicht gefunden. Aber es ist immer noch notwendig, über die Schritte der benutzerdefinierten Installation zu sprechen. Schließlich gibt es eine ganze Reihe benutzerdefinierter Installationen durch Internetnutzer.
Software-Erwerb: http://www.mysql.com/downloads/index.html
Installationsschritte:
tar zxvf mysql-3.23.58.tar.gz
cd mysql-3.23.58
./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql
make
make install
#prefix=/usr/local/mysql Das Zielverzeichnis für die MySQL-Installation
#sysconfdir=/etc Der Pfad zur my.ini-Konfigurationsdatei
#localstatedir=/var/lib/mysql Datenbankspeicherpfad
Nach der Installation müssen Sie die Datenbank natürlich initialisieren, wenn Sie ein Upgrade durchführen ;
/usr/local/ mysql/bin/mysql_install_db
Wenn das System nicht über den Benutzer mysql verfügt, führen Sie am besten die folgenden Schritte aus:
useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql
Dann starte ich mysql
/usr /local/mysql/bin/safe_mysqld &
ok, prüfen Sie zunächst, ob MySQL normal funktionieren kann
mysql -uroot mysql
Im Allgemeinen kann die Datenbank nicht normal verbunden werden, und Die Fehlermeldung lautet im Allgemeinen:
FEHLER 2002: Es kann keine Verbindung zum lokalen MySQL-Server über Socket '/var/lib/mysql/mysql.sock' hergestellt werden (2)
Tatsächlich ist die Die am häufigsten gestellte Frage im Internet lautet, dass mysqld.sock nicht verbunden werden kann. Vielleicht möchten Sie einen Blick auf das Fehlerprotokoll von MySQL werfen, um zu verstehen, was hier vor sich geht 🎜>
/var/lib/mysql/*.err Sie werden feststellen, dass der Grund, warum MySQL nicht gestartet werden kann, darin liegt, dass die Berechtigungen von /var/lib/mysql standardmäßig keinen Zugriff auf den MySQL-Dienst zulassen. Englisch: MySQL ruft den MySQL-Benutzer auf, den Dienst zu starten. Nun, da Sie den Grund kennen, warum er nicht gestartet werden kann, ist es einfach. Alles, was wir tun müssen, ist
chown -R mysql:mysql /var/lib/mysql. Wenn es immer noch nicht gestartet werden kann, debuggen Sie die Berechtigungen langsam. Wie auch immer, der Fehler beim Starten ist im Allgemeinen eine Berechtigung Ausgabe.
Wenn Sie es immer noch nicht starten können, verwenden Sie meine komplizierteren Berechtigungseinstellungen. Wie auch immer, ich mache das jedes Mal und es gibt normalerweise kein Problem:
chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R root /usr/local/mysql/bin
chgrp -R mysql /usr/local /mysql/bin
chgrp -R mysql /var/lib/mysql
chmod 777 /var/lib/mysql
chown -R root /var/lib/mysql/mysql
chgrp -R mysql /var/lib /mysql/mysql
chmod 777 /var/lib/mysql/mysql
chown -R root /var/lib/mysql/mysql/*
chgrp -R mysql /var/lib/ mysql/mysql/ *
chmod 777 /var/lib/mysql/mysql/*
chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a
Vervollständigen Sie die oben genannten Schritte Schritte, dann KOPIEREN Sie ein Skript in Ihr kompiliertes Verzeichnis
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
Verwenden Sie die NTSYSV-Einstellungen, damit MySQL bei jedem Start automatisch ausgeführt wird.
Okay, jetzt ist MySQL installiert, Sie können Ihren MySQL-Dienst wie folgt starten
/etc/rc.d/init.d/mysqld start
Die folgenden Schritte Mehr Wichtig:
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
Sie müssen diesen Schritt nicht ausführen. Sie können den Bibliotheksdateipfad von myslq beim Kompilieren anderer Software anpassen, aber ich möchte die Bibliotheksdatei trotzdem mit dem Standardspeicherort verknüpfen, sodass Sie ihn beim Kompilieren nicht angeben müssen Software wie PHP, Vpopmail usw. Die Bibliotheksdateiadresse von MySQL.
2. Installieren Sie Apache1.3.29. Ich habe mich nicht für die Installation von Apache 2.0 entschieden, weil ich mir darüber noch Sorgen machte, da die neuesten im Internet veröffentlichten Apache-Schwachstellen grundsätzlich für 2.0 gelten. Natürlich können Sie sich auch für die Installation der entsprechenden Version entscheiden. Ich spreche hier von der Verwendung der dynamischen DSO-Kompilierungsmethode zum Kompilieren von Apache
Bezüglich der Kompilierungsmethode von Apache können Sie sich auf meinen vorherigen Artikel „Anwendung der statischen/dynamischen Kompilierung von Apache in Apache+“ beziehen php+mysql“ http://www.5ilinux.com/apache01.html
Software-Beschaffung: http://httpd.apache.org/
tar zvxf apache_1.3.29.tar. gz
cd apache_1.3.29
Ändern Sie src/include/httpd.h, um die maximale Anzahl von Threads zu erhöhen
#define HARD_SERVER_LIMIT 256
Geändert in
#define HARD_SERVER_LIMIT 2560
Apache kompilieren und beenden
./configure --prefix=/usr/local/apache --enable-module=so --enable-module= rewrite --enable-shared= max --htdocsdir=/var/www &&
make &&
make install
#Hier teilen wir dem Setup-Skript über den Parameter „enable-module“ mit, was wir tun müssen Starten Sie die so- und rewrite-Module. Erwähnen wir das von DSO unterstützte Apache-Kernmodul, und das Rewrite-Modul ist ein Modul, das das Umschreiben von Adressen implementieren soll, da das Rewrite-Modul DBM-Unterstützung erfordert, wenn es nicht in Apache kompiliert wird Bei der Erstinstallation müssen Sie den gesamten Apache neu kompilieren, wenn Sie ihn in Zukunft verwenden möchten. Aus diesem Grund wird empfohlen, das Rewrite-Modul bei der ersten Kompilierung zu kompilieren, es sei denn, Sie sind sicher, dass Sie das Rewrite-Modul in Zukunft nicht mehr verwenden werden.
enable-shared=max Die Funktion dieses Parameters besteht darin, beim Kompilieren von Apache alle Apache-Standardmodule außer diesen in DSO-Module zu kompilieren. Anstatt in den Apache-Kern kompiliert zu werden.
Nun, die Installation von Apache ist sehr einfach. Starten Sie Apache und sehen Sie sich
/usr/local/apache/bin/apachectl start an
Dann verwenden Sie ie Schauen Sie sich http://Ihre Serveradresse an. Sie sollten das bekannte Apache-Feder-Logo sehen.
3. Installieren Sie PHP4.3.4
Software-Beschaffung: http://www.php.net/downloads.php
tar zvxf php-4.3.4.tar. gz
cd php-4.3.4
./configure
--prefix=/usr/local/php
--with-mysql=/usr/local/mysql
--enable-force-cgi-redirect
--with-freetype-dir=/usr
--with-png-dir=/usr
--with-gd --enable-gd-native -ttf
--with-ttf
--with-gdbm
--with-gettext
--with-iconv
--with-jpeg-dir=/usr
--with-png
--with-zlib
--with-xml
--enable-calendar
--with-apxs=/usr/local/Apache/bin/apxs
make
make install
# Da der Server die GD-Bibliothek verwenden muss, habe ich einige Kompilierungsparameter hinzugefügt, die GD unterstützen, und GD wird direkt verwendet Redhat wird mit der GD-Bibliothek geliefert, wenn Sie sie nicht installiert haben. Beachten Sie, dass Sie zusätzlich zur Installation von GD auch libjpeg, libpng und andere Bibliotheksdateien installieren müssen. Darüber hinaus zeigt --with-mysql=/usr/local/mysql auf den Pfad, in dem Sie MySQL installiert haben. --with-apxs zeigt auf den Pfad der Apxs-Datei von Apache.
vi /usr/local/apache/conf/httpd.conf
Find
In diesem Bereich hinzufügen
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Allerdings CPOPY PHP-Konfigurationsdatei
cp . ./php4.3.4/php.ini.dist /usr/local/php/lib/php.ini
Ändern Sie die php.ini-Datei
register_globals = On
OK! Starten Sie den Apache-Server neu
/usr/local/apache/bin/apachectl restart
Schreiben Sie dann eine PHP-Testseite info.php: Der Inhalt lautet wie folgt
phpinfo();
Wenn normal, sollten Sie die PHP-Informationen sehen können.