[Megoldva] Webfejlesztés Linux mint alatt. Apache2, php konfigurálása

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

Fórum: 

Sziasztok!

Linux Mint 22.1 verziót használok, és szeretném, ha gördülékenyen tudnék webre fejleszteni Linux alatt is. Kb 20 éve csinálom kisebb nagyobb szünetekkel, ám sajnos ezt mindig windows alatt tettem xampp segítségével. A mintet feltelepítve, örömmel láttam, hogy itt már alapjáraton van apache, var/www/html könyvtár, ami be is tölt ha a localhost címet beírom a böngészőbe.

Neki is láttam volna szórakozni, viszont ezt a html könyvtárat nem tudom módosítani. Hamar utána néztem, és találtam egy olyan lehetőséget, hogy létre kell hozni a ~/ könyvtárba egy public_html könyvtárat.

Eljutottam odáig,hogy sikerült bekonfigurálnom, hogy a http://localhost/~<username>/ könyvtárat betöltse az apache. z alábbi útmutató alapján https://www.pugetsystems.com/labs/hpc/note-how-to-setup-apache-on-ubuntu... Ezen felbuzdulva ki is próbáltam egy phpinfo();-t ám ezzel nem jártam sikerrel. Sebaj, gondoltam, nincs php, telepítünk, úgyhogy el is kezdtem:

sudo apt install php libapache2-mod-php

gonsoltam, az alábbit is

sudo apt install php-cgi
sudo apt install php-mysql

Majd újraindítottam az a pache-ot

sudo systemctl restart apache2.service 

Majd létrehoztam a világ legegyszerűbb php fájlát

<?php
  phpinfo();
?>

majd ezek után gondoltam lássuk a medvét. Ám a medve nem jött ki a barlangjából, nem láttam. Vagyis egy fehér képernyőt láttam a phpinfo helyett.

Hogyan tovább?

Parancssorbol persze lefut

Értékelés: 

0
Még nincs értékelve

Parancssorbol persze lefut

~$ php ./public_html/teszt/phpinfo.php

Ebből tudom, hogy a telepítés sikeres. Szóval valami még hiányzik ahhoz, hogy az apache is futtassa.

kami911 képe

Parancssorbol persze lefut

Értékelés: 

0
Még nincs értékelve

#1 be kell kapcsolni apache alatt a php modult, utána  apache2 restart.

Fejlemény!

Értékelés: 

0
Még nincs értékelve

Fejlemény!

 

http://localhost/teszt/phpinfo.php működik, vagyis a /var/www/html könyvtárban levő php fájlok lefutnak. Míg a http://localhost/~<username>/ könyvtárból nem.

Nekem jó lenne a /var/www/html könyvtár is, ám a linux nem javasolja, hogy engedélyezzem a visual studio code-nak, hogy írhasson abba a könyvtárba, illetve ilyen formán a php-nak sincs valószínüleg joga, tehát, ha mondjuk egy wordpress-t szeretnék telepíteni, valószínüleg, nem sikerülne mivel a php nem tudj írni.

Tehát ezkben a kezdeti lépésekben szeretném a segítségeteket kérni. Hogy aztán ém magam is segíthessek wink az utánam jövő kezdeti nehézségekkel küzdők számára :)

kami911 képe

Fejlemény!

Értékelés: 

0
Még nincs értékelve

#4 https://httpd.apache.org/docs/2.4/mod/mod_userdir.html#userdir

kami911 képe

Fejlemény!

Értékelés: 

0
Még nincs értékelve

#6 Az userdir modult engedélyezd a fenti módon.

Fejlemény!

Értékelés: 

0
Még nincs értékelve

#7 Ehhez a leíráshoz úgytűnik túl hülye vagyok.
NEm látok elég konkrétumot benne. Nem értettem meg a leírás alapján, hogy akkor most mit is kellene csinálnom. Azaz látom, hogy valahova be kell írnom, a mgadott sorokat, ám nem világos, hogy hova.

sudo a2enmod php8.3

Értékelés: 

0
Még nincs értékelve

sudo a2enmod php8.3

sudo service apache2 reload

HA erre gondolsz, akkor meg. 

A lépések a következők

Értékelés: 

5
Átlag: 5 (1 szavazat)

Sikerült Megoldanom a problémát.
Az alap probléma az volt, hogy a Linux nem javasolta a var/www/html/ könyvtár jogosultságainak módosítását, na meg lehet, hogy jobb is, ha a ez a home könyvtárban van, ezért létre hoztam a /home/username/public_html könyvtára, hogy majd ide pakoljam a projekteket.

A következő lépésben feltelepítettem a php-t, és a hozzá tartozó szolgáltatásokat.

sudo apt install php libapache2-mod-php

és a hozzá tartozó szolgáltatások

sudo apt install php-cgi
sudo apt install php-mysql

Itt megjegyezném, hogy a php telepítése előtt feltelepítettem a mysql szervert is.

sudo apt install mysql-server

Ezek után megadtam a megfelelő jogokat a könyvtáramnak

sudo chown -R www-data:www-data /home/username/public_html
sudo chmod -R 755 /home/username/public_html

Ezt követően meg kell mondani az apache-nak, hogy hol van az a könyvtár, ami a http://localhost címre hallgat. És ugyan ezt a php-nak is meg kell mondani.

Tehát jöjjön előszőr az apache:
Ehez nyissuk meg a /etc/apache2/sites-available/000-default.conf állományt egy szerkesztővel, vigyázva a jogosultságokra, különben nem fogjuk tudni elmenteni. ezért:

sudo xed /etc/apache2/sites-available/000-default.conf

és a DocumentRoot sort javítsuk ki a mi könyvtárunkra:

DocumentRoot /home/username/public_html

Majd mentsük el a fájlt.

Ezt követően pedig ugyancsak serkesztésre nyissuk meg az /etc/apache2/apache2.conf fájlt

sudo xed /etc/apache2/apache2.conf

majd a végén található részt:

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine OFF
    </Directory>
</IfModule>

Javítsuk a következőre:

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine ON
    </Directory>
</IfModule>

Tehát csak az OFF kulcsszót ON-ra kell állítani.

Majd nem maradt más hátra, mint újraindítani az apache-ot

sudo systemctl restart apache2

de lehet, hogy ez is megfelel

sudo systemctl restart apache2.service

Én a biztonság kedvéért, mind a kettőt megtettem :D

És ezek után már szépen lefutnak a ~/public_html könyvtárban levő php kérések is. amiket a http://localhost címen fogunk elérni.

kami911 képe

A lépések a következők

Értékelés: 

0
Még nincs értékelve

#13 köszi az összefoglalót!

Szívesen

Értékelés: 

0
Még nincs értékelve

Szívesen!

Remélve, hogy aki hasonló problémába ütközik, rátalál, és segítségére lehetnek ezek a lépések.