Yritin asentaa Apachea koneelleni (Linux Mint Helena). Kaikki meni hyvin, muttä käynnistyksessä tuli ongelmia:
jaakko@jaakko-desktop ~ $ sudo service apache2 start * Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName httpd (pid 2349) already running [ OK ] jaakko@jaakko-desktop ~ $ service apache2 start * Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs [fail]
Netistä löytämilläni ohjeilla lisäsin seuraavan pätkän tiedostoon /etc/apache2/apache2.conf
, mutta se ei ratkaissut ongelmaa
# This would be correct. <VirtualHost *:80> ServerName some.domain.com # Options and stuff defined here. </VirtualHost>
Googlettamalla tuota virheilmoitusta selviää, että ServerName <palvelimen nimi>
pitäisi laittaa VirtualHost-lohkon ulkopuolelle. Oletko kokeillut sitä?
Kiitos! Nyt ei tule valituksia.
jaakko@jaakko-desktop ~ $ sudo service apache2 start * Starting web server apache2 httpd (pid 2349) already running [ OK ]
Mutta tein seuraavanlaisen tiedoston:
<?php phpinfo(); ?>
Kun avaan sen tuplaklikkaamalla tiedostoa, ei tulostu mitään. Olenko ymmärtänyt jotain väärin, mutta mielestäni Apachen ja PHP:n asentaminen Synapticista pitäisi riittää PHP:n asentamiseen?
Jaska kirjoitti:
Kun avaan sen tuplaklikkaamalla tiedostoa, ei tulostu mitään. Olenko ymmärtänyt jotain väärin, mutta mielestäni Apachen ja PHP:n asentaminen Synapticista pitäisi riittää PHP:n asentamiseen?
Voit testata PHP-koodia laittamalla sen palvelimen DocumentRoot-hakemistoon ja menemällä selaimella osoitteeseen http://localhost .
Mistä saan selville oman koneeni DocumentRoot-hakemiston? Haluaisin nähdä omalla koneellani olevia PHP-tiedostoja, jotka ovat myös muissa hakemistoissa kuin DocumenRootissa. Nyt jos laitan osoitepalkkiin Firefoxissa tai Chromessa
file:///home/jaakko/Desktop/info.php
selain lataa tiedoston työpöydälleni, mutta tiedostohan on jo kovalevylläni. Localhost tulostaa seuraavan sivun:
<html><body><h1>It works!</h1> <p>This is the default web page for this server.</p> <p>The web server software is running but no content has been added, yet.</p> </body></html>
Jaska kirjoitti:
Mistä saan selville oman koneeni DocumentRoot-hakemiston
Se on määritelty jossain Apachen asetustiedostossa. Jos et ole muuttanut sitä, niin se on hyvin todennäköisesti /var/www
.
Jaska kirjoitti:
Haluaisin nähdä omalla koneellani olevia PHP-tiedostoja, jotka ovat myös muissa hakemistoissa kuin DocumenRootissa.
Toki voit suorittaa missä tahansa hakemistossa olevia PHP-tiedostoja vaikka ilman Apachea, mutta jos haluat koodien toimivan www-ympäristössä esimerkiksi sivujen testausta varten, pitää tiedostot laittaa DocumentRootiin ja katsoa sivuja selaimella.
Ahaa. Eli siis jos teen vaikkapa Alicen projektia koneellani, niin minun tulee kopioida kaikki tiedostot hakemistoon /var/www
. Jos taas samaan aikaan Bob haluaa minun tekevän projektia, on minun siirrettävä Alicen projektin tiedostot hakemistoon /var/www/Alice
, jotta voin siirtää Bobin projektin hakemistoon /var/www/
. Vaikuttaa vähän kömpelöltä.
Jaska kirjoitti:
Eli siis jos teen vaikkapa Alicen projektia koneellani, niin minun tulee kopioda kaikki tiedostot hakemistoon
/var/www
. Jos taas samaan aikaan Bob haluaa minun tekevän projektia, on minun siirrettävä Alicen projektin tiedostot hakemistoon/var/www/Alice
, jotta voin siirtää Bobin projektin hakemistoon/var/www/
.
Ei tarvitse, voit antaa molempien projektien olla omissa hakemistoissaan, riittää kunhan ne ovat /var/www:n alla. Menet vain selaimella osoitteeseen http://localhost/Alice tai http://localhost/Bob .
Jos palvelin on vain kehityskäytössä, voit hyvin poistaa /var/www -hakemistossa olevan index.html -tiedoston niin saat tiedostolistauksen mennessäsi http://localhost -osoitteeseen ja projektejen koordinoiminen on helpompaa kun puolta ajasta ei tarvitse muistella osoitteita :D
Jaska kirjoitti:
Edit: Kappas. Kokeilin uudelleenladata sivua, ja nyt näenkin tiedostolistauksen. Omituista, ettei äskeisellä uudelleenlatauksella näyttänyt.
Selaimessasi on varmaan välimuisti käytössä. Siinä ei ole mitään omituista, ja jos aiot tehdä minkäänlaista nettiohjelmointia, kannattaa ottaa selvää asiaan liittyvistä palvelimen ja selaimen asetuksista (Google: Apache cache control, Google: Firefox cache) sekä selaimen hyödyllisistä näppäinyhdistelmistä (Google: Firefox force refresh).
(Edit: Poistit sitten viestisi.)
No kun se ongelma ratkesi itsekseen.
Mitenkä sitten saan Drupalin asennettua kuntoon? Tein MySQL:llä tietokannan drupaltest. Nyt tuolle kannalle pitäisi ilmeisesti laittaa käyttäjäksi jaakko, mutta miten? Ainakin Drupalin asennus törmäsi virheilmoitukseen
lainaus:
Failed to connect to your database server. The server reports the following message: SQLSTATE[28000] [1045] Access denied for user 'jaakko'@'localhost' (using password: YES).
Jaska kirjoitti:
Tein MySQL:llä tietokannan drupaltest. Nyt tuolle kannalle pitäisi ilmeisesti laittaa käyttäjäksi jaakko, mutta miten?
Vaikka näin: http://dev.mysql.com/doc/refman/5.1/en/adding-users.html
Suosittelen sinua kuitenkin asentamaan phpMyAdminin, koska sillä hoituu kaikennäköinen MySQL-tietokannan hallinta helposti.
Jostain syystä oikeuksien laittaminen ei onnistunut
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEX,DROP, CREATE TEMPORARY TABLES,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE, EXECUTE,CREATE VIEW,EVENT,TRIGGER ON drupaltest.* TO 'Jaakko'@'localhost' with grant option; Query OK, 0 rows affected (0.00 sec)
Drupalissa
Failed to connect to your database server. The server reports the following message: SQLSTATE[28000] [1045] Access denied for user 'Jaakko'@'localhost' (using password: YES).
On mulla myös phpMyAdmin, johon voin laittaa SQL-koodin.
Jouduin vaihtamaan XAMPiin, kun Drupalin asentaminen ei onnistunut Apachen päälle.
XAMP sisältää Apache, MySQL ja PHP, eli kyllä Drupalin voi asentaa Apachen päälle kunhan vain on konffit kunnossa apachessa ja mysql ja php asenneltuna ja toiminnassa.
Totta, mutta tuollainen Apachen konffaaminen on mulle uutta. MySQL ja PHP toimii, mutta en tiedä, miksi en saa käyttöoikeuksia tunnukselle 'Jaakko'@'localhost'.
Sinun pitää lisätä mysql:lle käyttäjätunnus "Jaakko" ennen kuin sitä voi käyttää, eli siis kirjaudut root tunnuksella ja lisäät "Jaakko" tunnuksen ja annat sopivat oikeudet.
Milläs komennolla tuo tunnus lisätään?
Jaska kirjoitti:
Milläs komennolla tuo tunnus lisätään?
-tossu- kirjoitti:
Vaikka näin: http://dev.mysql.com/doc/refman/5.1/en/adding-users.html
Mutta koska sinulla on phpMyAdmin, voit lisätä käyttäjän sillä niin, ettei tarvitse välittää SQL-komennoista.
Kannassa näyttäisi olevan tällaista tietoa. Onkohan noi eri rootit turhia?
SELECT host, user, Select_priv FROM `user` WHERE 1 LIMIT 0 , 30
Edit Delete localhost root Y Edit Delete jaakko-desktop root Y Edit Delete 127.0.0.1 root Y Edit Delete localhost debian-sys-maint Y Edit Delete localhost drupal6 N Edit Delete localhost mysql N Edit Delete localhost phpmyadmin N Edit Delete localhost jaakko N
Ensimmäinen sarake "host" kertoo, että mistä sitä voi käyttää. Nähtävästi sitä tunnusta voi käyttää vain paikallisesti, eli esimerkiksi Ohjelmointiputka palvelimelta ei voisi yhdistää MySQL-palvelimeesi root-tunnuksella. Toinen on käyttäjän nimi, ja kolmas valtuudet. Y tarkoittaa Grant-valtuuksia ja N ettei niitä ole.
Jos poistat tuolta root-kohdan, jossa lukee "localhost" tai "127.0.0.1", niin et voi ottaa niillä osoitteilla yhteyttä MySQL-palvelimeesi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.