Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
muenster
Beiträge: 118
Registriert: 18.01.2021 12:05:31

Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von muenster » 05.03.2022 10:35:48

guten Morgen Comunity,

ich hab am Wochenende vor - auf meinem Linux-Rechner einen Apache HTTP Server zu installieren - es geht um die Einrichtung eines LAMP-Stacks. Heut hab ich ein anderes Linux als früher - und nun versuch ich die Einrichtungsvorgänge zu übertragen - also die Komandos so anzupassen, dass sie auch auf meinem System passen.

Heute hab ich ein MX-System - also bin hier praktisch richtig: ... MX Linux:
MX Linux ist ein hinsichtlich des Ressourcenverbrauchs mittelschweres Linux-Betriebssystem, das auf der Distribution/Variante Debian/stable (‚stabil‘) basiert und zentrale antiX-Komponenten verwendet. Zusätzliche Software wird von der MX-Gemeinschaft erstellt und/oder gepackt. Es wurde als Kooperationsprojekt zwischen der antiX und den ehemaligen MEPIS-Gemeinschaften entwickelt
https://de.wikipedia.org/wiki/MX_Linux


Deshalb - also weil MX von Debian her kommt - passt der LAMP setup Hinweis von
https://mxlinux.org/wiki/networking/lamp-setup/
This page describes how to install LAMP, which stands for Linux Apache MariaDB PHP. For this purpose, you need to set up:

a working Apache2 webserver;
a configured MariaDB database server;
PHP for work with Apache; and finally
phpMyAdmin with a configured pmadb database.
The needed time for the whole installation is around 20 minutes but it may depend on the performance of your Internet connection. This will require you spend some time in the terminal to properly set up.

After entering a valid password, the prompt should turn red and end with a #.

Apache
The following is a step-by-step process to install the Apache2 webserver that will be used in a basic LAMP setup.

Installing Apache2 First of all, make sure you have root access and enter the following as root:

Code: Alles auswählen

apt install apache2
Starting Apache2 Service
To start the Apache server, enter the following as root
Heute also - setze ich MX ein - und deshalb helfen mir hier die Debian Manuals.

Früher hab ich OpenSuse eingesetzt - und da war das Einrichten des LAMP relativ überschaubar - so nämlich:
Also auf openSUSE, Apache2 einzurichten das ging standardmäßig so...

Das hab ich immer mit dem Zyppyer-Befehl gemacht:

Code: Alles auswählen

$ sudo zypper install apache2
Das war der allererste Schritt: Nach der Installation hab ich dann den Dienst in der Zwischenzeit starten können,
Also - nach dem Start - wird dann automatisch der Apache gestartet - m.a.W. auch der Dienst mit den folgenden Befehlen überprüft.

Code: Alles auswählen

$ sudo systemctl start apache2
$ sudo systemctl enable apache2
$ sudo systemctl status apache2
Zum Test - also als Zeichen, dafür dass der Apache-Server betriebsbereit ist - dafür hab ich den Befehl netstat eingesetzt.

Code: Alles auswählen

$ sudo netstat -tlpn | grep httpd
So eingerichtet bin ich schon mal ein gute Stück gekommen - denn nun kann ich auch überprüfen, ob er in der Lage ist Webseiten bereitzustellen. Also einen Testwebseite als Probebeispiel einzurichten (mit einem index.html Dokument) - das hab ich immer im Dokument-Root (WEB)

beim “/ srv / www / htdocs” wie folgt.

Code: Alles auswählen

$ echo "
Apache2 is running fine on openSUSE Leap
" | sudo tee /srv/www/htdocs/index.html

Frage: kann ich dann hier gleich auch testen, - also einen Test mit der IP-Adresse des Servers im Browser. Das müsste ja dann ein(e) Standard-Adresse sein - denk ich mal!?

Weil ich einen LAMP haben will - brauch ich nun noch gleich eine DB. Also, danach würde ich deshalb am besten noch gleich eine MySQL-DB einrichten. Aber viele raten ja hier - an dieser Stelle dann zu einer MariaDB Datenbank
Seit langem wird gesagt, dass es schlauer ist statt MySQL zu installieren - auf Maria zu setzen. MariaDB - der vom original MySQL Entwickler-Team betreute MySQL-Fork,

Geht das mit dem Kommando

Code: Alles auswählen

zypper install mariadb-server mariadb-client

Was brauch ich noch !?

Was muss ich noch konfigurieren!?

Wünsche Euch allen einen schönen Samstag - viele Grüße
Münster

update: ich hab hier noch ein paar Anleitungen zum Einrichten eines LAMP-Stacks auf Linux#

Ganz allgemein zu LAMP

lamp-stack-auf-debian-installieren
https://think.unblog.ch/lamp-stack-auf- ... tallieren/


Installieren des Linux-, Apache-, MySQL-, PHP- (LAMP-)Stacks unter Ubuntu 20.04
https://www.digitalocean.com/community/ ... u-20-04-de

Ein Lamp-Stack auf MX-Linux:
https://mxlinux.org/wiki/networking/lamp-setup

wenn es immer noch Probleme gibt:
https://forum.mxlinux.org/viewforum.php?f=136

und hier noch mehr Infos - auf Englisch
https://forum.mxlinux.org

darüber hinaus: sehr interessant: Installing WordPress on a Linux (LAMP) Server
https://www.linuxquestions.org/question ... ver-37355/
Plan: Install an Apache2 web server on Linux with PHP 7.0 (mod_php) and MySQL support. Then install WordPress and create your own website or blog,
either just for testing/learning, or live transmission via a web host.

LAMP is short for Linux, Apache, *MySQL, PHP.
Install Apache
Test Apache:
Install MySQL (or MariaDB):
Install PHP 7.0
Then test your php:
Install phpMyAdmin

WordPress:
Wordpress Database Initialisation
Install WordPress

Useful links

MariaDB: https://mariadb.org/

WordPress: https://codex.wordpress.org/

Ubuntu Server guides: https://help.ubuntu.com/lts/serverguide/

Wplift Guide: https://wplift.com/install-wordpress-in-ubuntu
und zum Thema Finding out what user Apache is running as?

https://serverfault.com/questions/12586 ... running-as
I want to secure a file upload directory on my server as described beautifully here, but I have one problem before I can follow these instructions. I don't know what user Apache is running as.
I've found a suggestion that you can look in httpd.conf and there will be a "User" line, but there is no such line in my httpd.conf file, so I guess Apache is running as the default user. I can't find out what that is, though.
So, my question is (are):
how do I find out what the default user is
do I need to change the default user
if the answer is yes and I change the default user by editing httpd.conf, is it likely to screw anything up?

Code: Alles auswählen

ps aux | egrep '(apache|httpd)' typically will show what apache is running as.
Usually you do not need to change the default user, "nobody" or "apache" are typically fine users. As long as its not "root" ;)
edit: more accurate command for catching apache binaries too
darüber hinaus - das Thema bei Apache:
https://httpd.apache.org/docs/2.4/howto/auth.html
Zuletzt geändert von muenster am 09.04.2022 10:53:16, insgesamt 4-mal geändert.

DeletedUserReAsG

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von DeletedUserReAsG » 05.03.2022 10:43:09

muenster hat geschrieben: ↑ zum Beitrag ↑
05.03.2022 10:35:48
Was brauch ich noch?¹
In erster Linie ein passendes Forum für das von dir verwendete System – Debian ist es ja offensichtlich nicht.

--
¹) Zeichensetzung auf wahrscheinlichste Bedeutung reduziert

Benutzeravatar
debilian
Beiträge: 1199
Registriert: 21.05.2004 14:03:04
Wohnort: 192.168.43.7
Kontaktdaten:

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von debilian » 05.03.2022 10:46:14

oder per Suchmaschine für debian finden:
https://think.unblog.ch/lamp-stack-auf- ... tallieren/
-- nichts bewegt Sie wie ein GNU --

muenster
Beiträge: 118
Registriert: 18.01.2021 12:05:31

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von muenster » 06.03.2022 01:44:55

Hallo debilian, vielen Dank für deinen Beitrag,

Dein Beitag - er ist superhilfreich.

Vielen Dank für Deine Rückmeldung.

Den von dir Debilian, verlinkten Hinweis zu der sehr detaillierten Anleitung - der ist wirklich klasse.

Linux – Apache – MySQL – PHP – LAMP Stack Installation auf Debian
https://think.unblog.ch/lamp-stack-auf- ... tallieren/
LAMP Installation für Debian
phpMyAdmin installieren
Debian Webserver absichern und härten
Firewalld anstelle von ufw
FTP-Server Installation mit vsftpd
Schutz gegen DoS Angriffe mit Fail2ban
Weitere nützliche Tools für den Webserver
Apache Virtual Host für eine Domain erstellen

Fazit: Somit ist es möglich, in kurzer Zeit einen kompletten Webserver mit allen notwendigen Diensten aufzubauen, ohne das eine grafische Benutzeroberflächen oder andere Tools zur Einrichtung und Administration eingesetzt werden.
Selten so etwas ausführliches gesehen. Danke schön.




Heute hab ich ein MX-System - also bin hier praktisch richtig: ... MX Linux:
MX Linux ist ein hinsichtlich des Ressourcenverbrauchs mittelschweres Linux-Betriebssystem, das auf der Distribution/Variante Debian/stable (‚stabil‘) basiert und zentrale antiX-Komponenten verwendet. Zusätzliche Software wird von der MX-Gemeinschaft erstellt und/oder gepackt. Es wurde als Kooperationsprojekt zwischen der antiX und den ehemaligen MEPIS-Gemeinschaften entwickelt
https://de.wikipedia.org/wiki/MX_Linux


Deshalb - also weil MX von Debian her kommt - passt der LAMP setup Hinweis von
https://mxlinux.org/wiki/networking/lamp-setup/
This page describes how to install LAMP, which stands for Linux Apache MariaDB PHP. For this purpose, you need to set up:

a working Apache2 webserver;
a configured MariaDB database server;
PHP for work with Apache; and finally
phpMyAdmin with a configured pmadb database.
The needed time for the whole installation is around 20 minutes but it may depend on the performance of your Internet connection. This will require you spend some time in the terminal to properly set up.
After entering a valid password, the prompt should turn red and end with a #.

Apache: The following is a step-by-step process to install the Apache2 webserver that will be used in a basic LAMP setup.
Installing Apache2 First of all, make sure you have root access and enter the following as root:

Code: Alles auswählen

apt install apache2
Starting Apache2 Service
To start the Apache server, enter the following as root
Heute also - setze ich MX ein - und deshalb helfen mir hier die Debian Manuals.

Schönen Sonntag noch an dich..
Viele Grüße Münster :D

update: Also MX (mein System) - ist hier nur ganz knapp in Manuals:
a. - installing the lamp stack by using MX Package Manager,
b. - installing all that things on command line:

cf https://mxlinux.org/wiki/networking/lamp-setup/

This page describes how to install LAMP, which stands for Linux Apache MariaDB PHP. For this purpose, you need to set up:

a working Apache2 webserver;
a configured MariaDB database server;
PHP for work with Apache; and finally
phpMyAdmin with a configured pmadb database.
The needed time for the whole installation is around 20 minutes but it may depend on the performance of your Internet connection. This will require you spend some time in the terminal to properly set up.

Getting root access
To get root access, open a terminal and enter the following command:

Code: Alles auswählen

su –
After entering a valid password, the prompt should turn red and end with a #.

Apache
The following is a step-by-step process to install the Apache2 webserver that will be used in a basic LAMP setup.

Installing Apache2
First of all, make sure you have root access and enter the following as root:

Code: Alles auswählen

apt install apache2

Code: Alles auswählen

Starting Apache2 Service
and so on .... cf https://mxlinux.org/wiki/networking/lamp-setup/

see also: viewtopic.php?f=104&t=56595&p=577092#p577092

Ferner gibts noch den formalen Hinweis:
As always when you want to install apps: MX Package Installer. First choice, Popular Applications. Next. Stable Repo. Third, Test Repo. Fourth, Debian Backports. Last, Flatpaks in that order of preference.

Euch noch einen schönen Sonntag, Viele Grüße Münster :D
Zuletzt geändert von muenster am 06.03.2022 23:57:24, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von DeletedUserReAsG » 06.03.2022 08:38:23

muenster hat geschrieben: ↑ zum Beitrag ↑
06.03.2022 01:44:55
Selten so etwas ausführliches gesehen.
Interessant, wie verschieden die Wahrnehmung sein kann. In meiner Wahrnehmung ist das im Prinzip nur eine oberflächlich leicht kommentierte Copypaste-Anleitung.

Falls du dich mal eingehender mit der von dir verwendeten Software beschäftigen möchtest, hier die tatsächlich ausführlichen Sachen zu den Fragen im Eingangsbeitrag: Handbuch Apache HTTP Server und Handbuch MariaDB

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von uname » 07.03.2022 07:49:39

@muenster
Der Fehler ist schon auf irgendeinem komischen Debian-Derivat zu versuchen Serverdienste zu installieren. Das ist vollkommender Quatsch. MX Linux ist zudem wohl eher für Clientsysteme gedacht. Ich hoffe du hast es nciht wegen DistroWatch installiert. Das ist natürlich alles vollkommender Quatsch dort.
MX Linux ist ein hinsichtlich des Ressourcenverbrauchs mittelschweres Linux-Betriebssystem,
Kein Wunder durch den unnötigen Overhead, den Debian natürlich nicht hat.
zypper
???!!!??? MX und Debian hat mit openSuSE nun mal gar nichts zu tun. ???!!!???

Installiere mal ein ordentliches Debian GNU/Linux und melde dich dann gerne wieder.

https://www.debian.org

Lese bitte auch:
https://de.wikipedia.org/wiki/Debian
https://de.wikipedia.org/wiki/MX_Linux

https://de.wikipedia.org/wiki/OpenSUSE
https://de.wikipedia.org/wiki/Libzypp

https://distrowatch.com

muenster
Beiträge: 118
Registriert: 18.01.2021 12:05:31

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von muenster » 07.03.2022 17:19:10

hallo Uname - und nochmals Debilian, :D


vorweg: zweifelos - das ist natürlich von Bedeutung : also hier ist ziemlich unstrittig dass OpenSuse nicht (!) Debian ist. Ich glaub dass das hier auch kaum einer bestreitet.
Den Rest guck ich mir gerne an.

Auch die Debian Architektur bzw.
MX Linux ist ein hinsichtlich des Ressourcenverbrauchs mittelschweres Linux-Betriebssystem,
Kein Wunder durch den unnötigen Overhead, den Debian natürlich nicht hat.
Kann ich mir gern mal durchlesen. Dir und Debilian jedenfalls vielen Dank für Eure Antworten u. euren Support hier. Ihr habt mir schon öfter geholfen.

Viele Grüße euch beiden und noch einen schönen Abend, :D

VG Münster ;)

muenster
Beiträge: 118
Registriert: 18.01.2021 12:05:31

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von muenster » 26.03.2022 19:06:44

Hallo und guten Abend uname, hallo Niemand,


@uname: Danke für deinen Hinweis - klar OpenSuse ist kein MX - das ist doch klar.

Aber - und das ist mir wichtig zu sagen: Es läuf einiges: der Apache der läuft und auch die MySQL-Db die läuft auch


Aber in den letzten Tagen konnte ich mich nicht um die Probleme kümmern: also ich war ein paar Tage nicht dran am Thema: hab nun nochmals weiter gemacht: Und bin dabei auf Probleme gestoßen - auf systemd-Probleme -und ich glaube dass es jetzt ans Eingemachte geht.

@uname: ich habe versucht, dem Thema auf den Grund zu gehen - und ergo hab ich noch nicht gleich neu installiert. Denn ich hoffte, das Ding noch retten zu können. Denn wie gesagt: es läuft ja einiges in der Installation.

a. der Apache
b. auch die MySQL-DB denk ich

also nochmals im Überblick - wie ich vorgegangen bin: ich habe es gemacht - nach dieser Anleitung: https://think.unblog.ch/lamp-stack-auf- ... tallieren/ so wie es aussieht muss der Apache laufen denn ich bekomme ein Bild in Localhost

ich denke, dass das so in Ordnung ist - wenn ich dann weiter gehe und den MySQL Server testen will - dann geh ich so vor:

Code: Alles auswählen

[sudo] Passwort für martin: 
[info] /usr/bin/mysqladmin  Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version		10.3.31-MariaDB-0+deb10u1
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/run/mysqld/mysqld.sock
Uptime:			24 min 23 sec

Threads: 6  Questions: 66  Slow queries: 0  Opens: 33  Flush tables: 1  Open tables: 26  Queries per second avg: 0.045.
(base) martin@mx:~
$ 

Okay - das sieht m.E. auch gut aus. Was ich noch testen will, das ist die Einrichtung des phpMyAdmin Dieser test der steht nun noch aus!
ich gehe dabei so vor um phpMyAdmin zu installieren - und orientiere mich dabei an dieser Anleitung: https://think.unblog.ch/lamp-stack-auf- ... tallieren/

Ich mache als ertstes mal: mit dem Befehl cd /usr/share wechle ich das Verzeichnis, in diesem phpMyAdmin installiert wird.

Danach werde ich phpMyAdmin herunterzuladen, und das geht wieder mit wget - ergo führe ich wget aus.

Code: Alles auswählen

 wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip 
Danach entpacke ich das soeben heruntergeladene Archiv -

Code: Alles auswählen

unzip phpmyadmin.zip
Nach dem entpacken mach ich nun folgendes: ich entferne nun das heruntergeladene Archiv.

Code: Alles auswählen

rm phpmyadmin.zip
Danach sollte der Name des entpackten Verzeichnis zu phpmyadmin umbenannt werden; Das mache ich mit folgendem Befehl.

Code: Alles auswählen

mv phpMyAdmin-*-all-languages phpmyadmin
Jetzt braucht es noch ein paar Rechte: also gebe ich die benötigten Rechte auf das phpMyAdmin-Verzeichnis mithilfe des Befehls.

Code: Alles auswählen

chmod -R 0755 phpmyadmin
Und am Ende werde ich noch die Datei config.sample.inc.php ubenennen zu config.inc.php.

Code: Alles auswählen

mv /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Und jetzt sollte noch eine Config-Datei eingerichtet werden; Dazu erstelle ich nun eine Apache2-Konfigurationsdatei für phpMyAdmin,
Das mach ich so mit Copy & Paste der folgenden wenigen Zeilen.

Das läuft auch noch - aber danach gibts massiv Probleme - und zwar richtig massiv

Code: Alles auswählen

root@mx:/usr/share# rm phpmyadmin.zip
root@mx:/usr/share# mv phpMyAdmin-*-all-languages phpmyadmin
root@mx:/usr/share# chmod -R 0755 phpmyadmin
root@mx:/usr/share# mv /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
root@mx:/usr/share# cat <<EOF> /etc/apache2/conf-available/phpmyadmin.conf
> # phpMyAdmin Apache configuration
> 
> Alias /phpmyadmin /usr/share/phpmyadmin
> 
> <Directory /usr/share/phpmyadmin>
>     Options SymLinksIfOwnerMatch
>     DirectoryIndex index.php
> </Directory>
> 
> # Disallow web access to directories that don't need it
> <Directory /usr/share/phpmyadmin/templates>
>     Require all denied
> </Directory>
> <Directory /usr/share/phpmyadmin/libraries>
>     Require all denied
> </Directory>
> <Directory /usr/share/phpmyadmin/setup/lib>
>     Require all denied
> </Directory>
> EOF
root@mx:/usr/share# a2enconf phpmyadmin
Enabling conf phpmyadmin.
To activate the new configuration, you need to run:
  service apache2 reload
root@mx:/usr/share# systemctl reload apache2
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Der Rechner ist nicht aktiv
root@mx:/usr/share# 
...und wie man sieht - stosse ich hier auf ein Problem. - Jetzt taucht dieses systemd Ding auf - und ich sehe, dass ich hier nicht weiter komme. Sehr sehr merkwürdig. Also ja: ich bin auf MX-Linux Und irgendwie komme ich hier grad nicht weiter. Das mit systemd, das muss ich mir nochmals genauer ansehen - ja auch in Verbindung zu MX-Linux gebracht. Ich muss mir das nun nochmals genauer ansehen - und gucken was ich nun machen kann.

Wichtig: Ob hier und jetzt ich also praktisch an dem Punkt bin - bei dem ich sagen muss: oh die Anleitung die passt nicht. Das glaub ich noch nicht einmal.
Das, lieber Uname und Niemand - das hatten wir zwar oben schon mal als Thema. Aber wie gesagt: Es läuft ja einiges. Der Apache läuft und auch die MySQL-Db ich denke die läuft auch. Nur hab ich diese systemd - Probleme grade.

Wie oben bereits geschrieben: ich bin vorgegangen - nach dieser Anleitung: https://think.unblog.ch/lamp-stack-auf- ... tallieren/
Die hattet Ihr mir empfohlen - und ich muss schon sagen - die ist sehr ausführlich. Die ist eigentlich sehr gut zu gebrauchen. Danke für diesen Tipp!!!

Aber - jetzt stockt es eben: An diesem Punkt bin ich wohl schon mal vor wenigen Tagen in ein Problem reingelaufen. Ich denke dass Euch da sicher was einfällt.

Ich selber ich versuch, mal das genauer anzusehen - und melde mich wieder

Viele Grüße und
einen schönen Samstagabend

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von eggy » 26.03.2022 19:26:52

Code: Alles auswählen

System has not been booted with systemd as init system (PID 1). Can't operate. 
Bei Linux gibts mehrere Initsysteme. U.a. das "alte"* SystemV und das "neue"* systemd.
An der Stelle erwartet wohl eins der Startscripte, dass es auf nem systemd System läuft, was es der Meldung nach wohl nicht tut.
Was bei Deinem "nicht-ganz-Debian" läuft, keine Ahnung.

Edit: Nachtrag, übrigens ist "wahllos Fremdquellen hinzufügen" die Fehlerursache Nummer eins.
In dem Fall hast Glück gehabt, weil der Repobetreiber auch die Pakete in Debian bereitstellt und man daher wohl davon ausgehen kann, dass der a) ausreichend Ahnung hat dass er Dir Dein System nicht kaputt macht und b) keine üblen Absichten hegt ... hätte aber auch anders laufen können.

muenster
Beiträge: 118
Registriert: 18.01.2021 12:05:31

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von muenster » 26.03.2022 21:32:17

guten Abend eggy.

vielen Dank für deine rasche Meldung über die ich mich sehr freue. :D - Ja du hast sicher recht. Ich bin hier aufs ganze gesehen eben noch nicht so eingearbeitet, dass hier jeder Handgfiff sitzt und alles auf Anhieb gleich passt.

Natürlich ist mir klar, dass man - wie Niemand und unname oben schon erwähnen - immer auch aufpassen muss, welche der Anleitungen man heranzieht. Da habt ihr im Grunde ja alle drei total recht.

eggy hat geschrieben: ↑ zum Beitrag ↑
26.03.2022 19:26:52

Code: Alles auswählen

System has not been booted with systemd as init system (PID 1). Can't operate. 
Bei Linux gibts mehrere Initsysteme. U.a. das "alte"* SystemV und das "neue"* systemd.
An der Stelle erwartet wohl eins der Startscripte, dass es auf nem systemd System läuft, was es der Meldung nach wohl nicht tut. Was bei Deinem "nicht-ganz-Debian" läuft, keine Ahnung.
ich hab ein MX-Linux-System hier am Laufen - und ja : ich dachte dass ich mit der o.g. Anelitung von think-Ublog.ch eigentlich ganz gut hinkomme - und dieses einigermaßen passend ist.
Edit: Nachtrag, übrigens ist "wahllos Fremdquellen hinzufügen" die Fehlerursache Nummer eins.
In dem Fall hast Glück gehabt, weil der Repobetreiber auch die Pakete in Debian bereitstellt und man daher wohl davon ausgehen kann, dass der a) ausreichend Ahnung hat dass er Dir Dein System nicht kaputt macht und b) keine üblen Absichten hegt ... hätte aber auch anders laufen können.
Also - wie schon oben erwähnt: ich benütze ein MX-Linux ohne systemd -

Und hier muss ich aufpassen, dass ich nicht systemd-Kommandos hier bringe. Damit komm ich in MX nicht richtig weiter

In MX geht das mit dem Restart von Apache so:

Code: Alles auswählen

sudo apachectl restart
oder so

Code: Alles auswählen

sudo service apache2 restart 
nun hab ich noch ein weiteres Problem;

Update: auch das Einrichten des PHPMyadmin hat geklappt.

nur - scheint es so zu sein dass ich grad das Passwort vergessen hab - das da drauf liegt

Code: Alles auswählen

mysqli::real_connect(): (HY000/1698): Access denied for user 'martin'@'localhost'
Ich werde mal nachsehen was ich da noch machen kann!?

Dir lieber Eggy nochmals ganz vielen Dank für deine Rückmeldung.

Wünsche Dir - und allen hier einen schönen Samstagabend.
Viele Grüße
Münster :D

update: - nun iat alles auf dem Rechner drauf...
Sehr gute Manuals - sehr tolle Tipps die ihr hier in diesem langen Thread habt - klasse! ich bin begeistert.

Der LAMP-Stack auf ein Linux-Notebook - er läuft: Final wende ich mich noch der Frage zu: welche PHP & MySQL-Versionen

Der LAMP-Stack auf ein Linux-Notebook - er ist nun gewissermaßen vollständig - und ich glaub dass alles nun so eingerichtet ist, dass der

Apache und der
MySQL - Server quasi automatisch startet. Das ist super.

Darüber hinaus: ich hab grade einen Check angestellt - um zu gucken -welche Versionen von PHP und MySQL installiert sind.

Dabei kommt die FRAGE auf - ob ich die ausreichneden "Versionen" auf dem LAMP drauf hab - also ob MySQL und PHP ausreichen oder ob ich ggf. noch einen Update drauf machen sollte!?t i

Ziel: ich will eine WordPress auf dem localhost laufen lasen:


die Versionen die im Moment auf dem Server laufen.

Code: Alles auswählen

`root@mx:/home/martin# php -v
PHP 7.4.28 (cli) (built: Feb 17 2022 16:16:01) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.28, Copyright (c), by Zend Technologies
root@mx:/home/martin# mysqld --version
mysqld  Ver 5.7.24 for Linux on x86_64 (conda-forge)
root@mx:/home/martin#`

PHP 7.4.28 (cli)
mysqld Ver 5.7.24

Ich glaube das sollte fürs erste reichen. Und ein PHPmyAdmin ist auch auf dem Rechner.
vielen vielen Dank für den tollen Support - Danke alle, also Eggy, Noname, und alle eben

Euch allen einen schönen Sonntag ;)

Viele Grüße Münster,

update:

in Betug auf die Anforderungen an einen Server für WordPress hab ich noch nachgesehen:

https://wordpress.org/about/requirements/
Requirements
To run WordPress we recommend your host supports:
PHP version 7.4 or greater.
MySQL version 5.7 or greater OR MariaDB version 10.2 or greater.
HTTPS support
alos passt also - ;)

Viele Grüße

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von uname » 28.03.2022 13:02:43

muenster hat geschrieben:@uname: ich habe versucht, dem Thema auf den Grund zu gehen - und ergo hab ich noch nicht gleich neu installiert. Denn ich hoffte, das Ding noch retten zu können. Denn wie gesagt: es läuft ja einiges in der Installation.
Retten kann man viel. Ich kenne Anwender, die seit Jahrzehnten Windows retten. ;-)

Ist irgendwas wichtiges auf dem System?

Sichere wichtige Daten wie z. B. manuelle Konfigurationen.
Installiere Debian Bullseyse.
Kopiere keinesfalls Konfigurationen, nutze sie nur als Anregung.
Auf kurz oder lang ist das die bessere Lösung.

muenster
Beiträge: 118
Registriert: 18.01.2021 12:05:31

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von muenster » 06.04.2022 20:10:14

Moin Uname, hallo @all,

vielen Dank für Eure Hilfe und für Eure Tipps hier in diesem Thread und auch in dem Thread zum MySQL-login (wo auch eggy nochmals sehr sehr aktiv war.

uname, du hast natürlich Recht - vllt. ist der komplette Umstieg auf Debian einfach ein Schritt, der sich nun langsam zwingen nahelegt - denn allein der Support hier, der ist schon überragend.
also ich hab das aufgebaut. Und im Moment siehts so aus als würde das laufen.

- ich kann den Apache Starten und Stoppen.
- ich habe einen Zugang zur DB via CLI u.
- ich hab ein phpmyAdmin aufgesetzt - auch das läuft.
- und das Fiasko mit den User an der DB - das habe ich nun hoffentlich auch hinter mir.


nun denke ich, ist es das allerwichtigste - mit dem LAMP auch gleich mal was zu machen. Also fange ich am besten gleich mal an: Ich will eine Testumgebung für Wordpress haben:

Ich kann jetzt im Grunde doch schon sehr viel auf dem Server machen - und nun will ich noch eine WordPress reinrichten. Da ist die Frage:

- muss ich noch Vhosts anlegen auf dem Apache !? zusammen mit einer neuen DocumentRoot und einem eigenen Benutzer, der Dateien hochladen kann, um die Website zu erstellen.
- brauche ich noch spezielle Anpassen der Apache-Konfigurationen :: um .htaccess-Overrides und -Rewrites zuzulassen!!?

oder kann ich einfach nun - weitermachen denn bislang, da läuft ja auch schon sehr vieles!

a. Ein zusätzlichen Benutzer mit allen Rechten anlegen, dazu melden wir uns mit dem MySQL-Client am DB-Server an.
CODE: ALLES AUSWÄHLEN

Code: Alles auswählen

mysql -u root
also bis hier klappt ja mal alles, ich bin jetzt im MySQL Prompt drinne.

Code: Alles auswählen

MySQL [(none)]>
Und jetzt mach ich mit den folgenden SQL Befehlen weiter: Ich will nen MariaDB-Benutzer erstellen und ihm die Rechte zu erteilen.

Code: Alles auswählen

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
ferner:

Code: Alles auswählen

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'wp'@'localhost' WITH GRANT OPTION;
ERROR 1133 (28000): Can't find any matching row in the user table
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS FOR 'newusere'@'localhost';
ERROR 1141 (42000): There is no such grant defined for user 'newusere' on host 'localhost'
mysql> SHOW GRANTS FOR 'newuser'@'localhost';
+-------------------------------------------------------------------------------------------------------------------------+
| Grants for newuser@localhost                                                                                            |
+-------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO `newuser`@`localhost` IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
+-------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


Nun - das läuft alles: ein paar Fragen: Also - grundsätzlich - das Ding läuft - und ich bekomme die Debian-Default-Page - wenn ich den Localhost aufrufe. Soweit so gut.
debian_default_page.png

Auch der PHP-Myadmin läuft:
phpMyAdminHomePage.png
alles nicht schlecht würde ich sagen.


Es komme mir noch ein paar Extra-Fragen:

zum Beispiel diese:

1. Brauch ich denn einen einen VHost - muss ich noch einen VHost extra einrichten!?

ich hab das - auf meinem MX-Linux-Notebook so - nach dieser Anleitung gemacht: https://think.unblog.ch/lamp-stack-auf- ... tallieren/
da ist dann auch noch ein Schritt beschrieben mit Apache Virtual Host für eine Domain erstellen:

....Mit einem einfachen Skript lässt sich ein neuen Apache VirtualHost erstellen, zusammen mit einer neuen DocumentRoot und einem eigenen Benutzer, der Dateien hochladen kann, um die Website zu erstellen.

Code: Alles auswählen

#!/bin/bash
if [ $# -lt 2 ]; then
    echo "Missinng argument!"
    echo "use: addvhost [example.com] [username]"
  exit 1
fi
# make directory for new docroot
mkdir -p /var/www/$1 /var/www/$1/html
# add user for new docroot
useradd -s /sbin/nologin -d /var/www/$1/html $2
# put index.html into docroot
echo -e "<html>
  <head>
    <title>Welcome to $1</title>
  </head>
  <body>
    <h1>Howdy! Apache2 virtual host $1 is working!</h1>
  </body>
</html>" > /var/www/$1/html/index.html
# assign owner and grant rights
chown -R $2:$2 /var/www/$1
chmod -R 755 /var/www
# create new apache virtual host config
cat <<EOF> /etc/apache2/sites-available/$1.conf
<VirtualHost *:80>
    ServerAdmin webmaster@$1
    ServerName $1
    ServerAlias www.$1
    DocumentRoot /var/www/$1/html
    ErrorLog /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined
</VirtualHost>
EOF
# enable the new apache virtual host
a2ensite $1
systemctl restart apache2
Die Zeilen in eine Skriptdatei als addvhost speichern und wie folgt ausführen.

chmod 755 addvhost
./addvhost example.com username
Verwende das erste Argument für den Domänennamen und das zweite für den zu erstellenden Benutzernamen.
Hinweis. daran denken das der neue Benutzer noch ein Passwort benötig mit passwd [username]
Nach dem Ausführen des Skripts findet man eine neue Docroot unter /var/www sowie die zugehörige Apache Virtual
Host-Konfiguration unter /etc/apache2/sites-available diese bereits aktiviert ist.

Wie gesagt: ich habe diese Anleitung verwendt: https://think.unblog.ch/lamp-stack-auf- ... tallieren/

und brauche ich das untenstehend auch noch das Anpassen der Apache-Konfiguration, um .htaccess-Overrides und -Rewrites zuzulassen?

vgl. https://www.digitalocean.com/community/ ... p-stack-de
Schritt 3 – Anpassen der Apache-Konfiguration, um .htaccess-Overrides und -Rewrites zuzulassen
Als Nächstes werden wir einige kleinere Anpassungen an unsere Apache-Konfiguration vornehmen. Basierend auf den erforderlichen Tutorials sollten Sie eine Konfigurationsdatei für Ihre Site im Verzeichnis /etc/apache2/sites-available/ haben.

Als Beispiel verwenden wir in diesem Leitfaden /etc/apache2/sites-available/wordpress.conf, aber Sie sollten den Pfad zu Ihrer Konfigurationsdatei ggf. ersetzen. Außerdem verwenden wir /var/www/wordpress als Root-Verzeichnis unserer WordPress-Installation. Sie sollten das in Ihrer eigenen Konfiguration angegebene Web-Root verwenden. Wenn Sie unserem LAMP-Tutorial gefolgt sind, kann dies in beiden Fällen Ihr Domänenname anstelle von wordpress sein.

Anmerkung: Es ist möglich, dass Sie die Standardkonfiguration 000-default.conf verwenden (mit /var/www/html als Ihre Web-Root). Das ist in Ordnung, wenn Sie auf diesem Server nur eine Website hosten wollen. Ansonsten ist es am besten, die notwendige Konfiguration in logische Chunks von einer Datei pro Site aufzuteilen.

Nach Festlegung unserer Pfade können wir nun mit .htaccess arbeiten, sodass Apache Konfigurationsänderungen anhand einzelner Verzeichnisse handhaben kann.

Aktivieren von .htaccess Overrides
Derzeit ist die Verwendung von .htaccess-Dateien deaktiviert. WordPress und viele WordPress-Plugins setzen diese Dateien weitläufig für kleine In-Directory-Änderungen des Webserver-Verhaltens ein.

Öffnen Sie die Apache-Konfigurationsdatei für Ihre Website mit einem Texteditor wie nano.

sudo nano /etc/apache2/sites-available/wordpress.conf
Um .htaccess-Dateien zu erlauben, müssen wir die Anweisung AllowOverride in einem Verzeichnisblock festlegen, der auf unsere Dokument-Root verweist. Fügen Sie Ihrer Konfigurationsdatei im VirtualHost-Block den folgenden Textblock hinzu, wobei Sie sichergehen müssen, dass Sie das korrekte Web-Root-Verzeichnis verwenden:

/etc/apache2/sites-available/wordpress.conf
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
Wenn Sie dies abgeschlossen haben, speichern und schließen Sie die Datei. In nano können Sie dazu zusammen Strg und X, dann Y und anschließend die Eingabetaste drücken.

Aktivierung des Rewrite-Moduls
Als Nächstes können wir mod_rewrite aktivieren, damit wir die WordPress Permalink-Funktion verwenden können:

sudo a2enmod rewrite
Dadurch können Sie in Ihren Posts mehr für Menschen lesbare Permalinks verwenden, wie die folgenden zwei Beispiele zeigen:

http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name
Der Befehl a2enmod ruft ein Skript auf, das das angegebene Modul innerhalb der Apache-Konfiguration aktiviert.

Aktivierung der Änderungen
Bevor wir die von uns vorgenommenen Änderungen implementieren, überprüfen wir, ob wir keine Syntaxfehler gemacht haben. Dazu führen wir folgenden Test aus.

sudo apache2ctl configtest
Sie erhalten möglicherweise eine Ausgabe wie diese:

Output
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Wenn Sie die oberste Zeile ausblenden wollen, fügen Sie Ihrer Haupt- (global) Apache-Konfigurationsdatei unter /etc/apache2/apache2.conf einfach einen ServerName hinzu. Der ServerName kann die Domäne oder IP-Adresse Ihres Servers sein. Dies ist jedoch nur eine Nachricht und beeinflusst die Funktionalität Ihrer Website nicht. Solange die Ausgabe Syntax OK enthält, können Sie weitermachen.

Starten Sie Apache neu, um die Änderungen zu implementieren. Nehmen Sie den Neustart auch dann vor, wenn Sie in diesem Tutorial bereits einen Neustart ausgeführt haben.

sudo systemctl restart apache2
Als Nächstes laden wir WordPress selbst herunter und richten es ein.

Also - es läuft ja irgendwie jetzt schon alles - brauch ich das extra noch !?

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Installieren von Apache HTTP Server - Einrichten eines LAMP-Stacks

Beitrag von eggy » 06.04.2022 21:02:47

muenster hat geschrieben: ↑ zum Beitrag ↑
06.04.2022 20:10:14
- muss ich noch Vhosts anlegen auf dem Apache !? zusammen mit einer neuen DocumentRoot und einem eigenen Benutzer, der Dateien hochladen kann, um die Website zu erstellen.
muenster hat geschrieben: ↑ zum Beitrag ↑
06.04.2022 20:10:14
- brauche ich noch spezielle Anpassen der Apache-Konfigurationen :: um .htaccess-Overrides und -Rewrites zuzulassen!!?
muenster hat geschrieben: ↑ zum Beitrag ↑
06.04.2022 20:10:14
1. Brauch ich denn einen einen VHost - muss ich noch einen VHost extra einrichten!?
muenster hat geschrieben: ↑ zum Beitrag ↑
06.04.2022 20:10:14
brauche ich das untenstehend auch noch das Anpassen der Apache-Konfiguration, um .htaccess-Overrides und -Rewrites zuzulassen?
muenster hat geschrieben: ↑ zum Beitrag ↑
06.04.2022 20:10:14
Also - es läuft ja irgendwie jetzt schon alles - brauch ich das extra noch !?
Etwas unübersichtlich, findest Du nicht auch?

Ob Du nen VHost brauchst, musst Du Dir selbst beantworten. Dazu hilft es sich folgende Fragen zu stellen:
a) Was ist ein VHost
b) was geht nur mit und was nur ohne extra VHosts

Gleiches für Modrewrite:
a) was ist Modrewrite
b) wofür brauchst Du es konkret
c) was ist der Vorteil, was der Nachteil ? Auch hier gilt: less is more.

Ebenso bei .htaccess:
a) warum überhaupt benutzen? (weil das in allen Anleitungen benutzt wird, ist bei nem Server unter eigener Kontrolle übrigens kein Argument)
b) Nachteile (ja. das erzählen einem die normalen Tutorials aber nicht)
c) Was geht auch ohne .htaccess, wenn man ja normale Rechte auf dem Server hat (die man bei gemietetem Webspace nicht hat)
d) Was zwingt Dich in Deinem Anwendungsfall das zu nutzen?
muenster hat geschrieben: ↑ zum Beitrag ↑
06.04.2022 20:10:14

Code: Alles auswählen

+-------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO `newuser`@`localhost` IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
+-------------------------------------------------------------------------------------------------------------------------+
Und Passwörter (auch gehashte) zu posten ist immer sehr blöde Idee.

Antworten