Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Hoover - 26.04.07 - klo:23.07
-
Asentelin tuossa juuri ensimmäistä kertaa Linuxia (Ubuntu 7.04) ja rupesi ihmetyttämään, että mitenkä sen oikein saisi turvallisesti pyörittämään PHP + MySQL:ää?
Tarkoitus olisi saada tuosta koneesta tehtyä oma testiserveri, jossa voisin ajella koodit. Minulla on siis lähiverkossa kaksi konetta, jotka on liitetty kytkimeen. Toisessa koneessa on Windows XP ja sillä teen koodaukset ja tämä uusi kone tosiaan pyörittää Ubuntua, jonka on tarkoitus toimia palvelimena jonne tuuppaan koodit ja tietokannat. Jos vaikka jotain ohjeita saisi täältä, että mitenkä pystytän palvelimen _turvallisesti_. Ihan kiva olisi jos tuohon Ubuntu-koneeseen pääsisi kiinni jopa muualtakin kuin lähiverkosta, mutta kunhan nyt aluksi saisin edes lähiverkossa toimimaan.
Voisiko tämän palvelimen saada toimimaan niin, että tietokantoja hallittaisiin MyPhpAdminilla? Sitä kautta olen tietokantoja ennen ronkkinut kun olen käyttänyt maksullisia kotisivutiloja, joissa on ollut PHP + MySQL-tuki.
Taitotaso minulla on vielä Linuxien kanssa aikalailla nolla, mutta vissiin näillä apt-get -komennoilla tuon voi asentaa vissiin? :)
-
Olisikohan tosta apua?
http://www.ubuntu-fi.org/Wiki/LAMP_Asennus
HowTo - osiosta löytyy myös tästä versio
-
Kiitti. Entäpä mitenkä turvallista se Ubuntussa on jos teen tuon ohjeen mukaan säädöt, pitäisikö siihen esim. joku palomuuri asentaa?
-
Tässä hieman vanhentunut asennusohje
http://forum.ubuntu-fi.org/index.php?topic=313.0
(edit: peran antoikin ohjeesta uudemman version)
Vanhentunut siltä osin, että enää ei pakettivarastosta taida edes löytyä php4 pakettia, vaan se pitää korvata php5 paketilla, eli asennuskomento, jolla saa php+mysql+apachen koneelle on:
sudo apt-get install apache2 php5 libapache2-mod-auth-mysql php5-mysql mysql-server
tämä avaa suoraan portin 80 ulkomaailmasta koneesi ip-osoitteeseen.
Jos haluat turvallisuutta säilyttäen yhteyden ulkomaailmaan/lähiverkkoon, asenna palomuuri tukkimaan kaikki muut portit, paitsi 80. Tällöin sisään pääsee käytännössä vain jos käytetään apachessa mahdollisesti piilevää turva-aukkoa.
Toisaalta, jos koneessa ei ole päällä muuta palvelua, kuin http portissa 80 ja krakkeri yrittää sisään koneeseen, jossa ei ole palomuuria. Oletetaan, että hän yrittää ensimmäisenä ftp-porttiin 21 ja huomaa, että hei, täällä on kone, mutta ei ftp palvelinta. skannailee sitten koneen portit ja huomaa, että ainoastaan portissa 80 on http-palvelin, eli ilman palomuuriakin kone on periaatteessa yhtä turvallinen, eli sisään pääsee ainoastaan, jos hyväksi käytetään apachen aukkoa.
Erona palomuurilliseen koneeseen, tämä kyseinen krakkeri ei huomasi porttiin 21 yrittäessään, että portin takana on tietokone ja hän ei siis tajuaisi edes alkaa skannailemaan portteja.
Jos haluat, että php näkyy ainoastaan sillä koneella, johon se on asennettu, muokkaa ohjeessa mainittua ports.conf tiedostoa.
-
Ok. Kiitti neuvoista. Pitää huomenissa koittaa pistää tuo Ubuntukone nettiin niin voi noita paketteja imuroida.
-
Noniin, sain tuon Ubuntukoneen sellaiseen kuntoon, että siinä on PHP ja MySQL + PhpMyAdmin.
Laitoin siihen myös palomuurin ja lisäsin lähiverkon koneen ip-osoitteen hyväksyttyjen listaan, joten voin jo nyt katsella selaimella var/www/ -kansion tiedostoja.
Asia mikä nyt rupesi kummastuttamaan on tiedostojen lähettely. Eli kun minä tällä Windowskoneella paukutan koodia (php) ja haluan siirtää ne testattavaksi Ubuntukoneelle, niin miten se onnistuisi? Maksullisten kotisivutilojen kanssa olen aina luonnollisesti FTP-ohjelmalla lähettänyt tiedostot palvelimelle. Pitäisikö tuohon Ubuntuun pistää FTP-servu sitten?
-
Esimerkiksi siirtäminen onnistuu sftp:llä, kunhan ssh-palvelimen asentaa koneelle. Tosin se tarvitsee sitten oman reiän palomuuriin, ja kannattaa katsoa ettei muut pääse siihen käsiksi, niin ainakin on pomminvarma.
http://www.ubuntu-fi.org/Wiki/ssh-palvelin
-
Sain nyt tehtyä tuota SSH-palvelin ohjetta kohtaan "Avainten käyttöönotto" asti. Siinä tipuin käyrryiltä, että mitä oikein pitää tehdä.
Minulla on siis Windows-kone tuo, millä haluaisin yhdistää tähän Ubuntukoneelle. Tein Puttygenillä 2048 bittisen avaimen ja tallensin sen luomat kaksi (privaatti ja public) -keyt muistitikulle, sillä nehän vissiin pitää jotenkin siirtää Ubuntukoneelle? Tuota public keyn siirtämistä tuonne /home/käyttäjänimi/.ssh/authorized_keys -hakemistoon en oikein ymmärtänyt, että miten se tapahtuu. Ainakaan tuolta graafisen käyttöliittymän puolelta en löytänyt koko kansiota. Vissiin päätteen kautta pitäisi jotenkin kiksata se?
-
Tuota public keyn siirtämistä tuonne /home/käyttäjänimi/.ssh/authorized_keys -hakemistoon en oikein ymmärtänyt, että miten se tapahtuu.
Tässä ohjeessa - http://forum.ubuntu-fi.org/index.php?topic=4740.0 - olen tehnyt avaimet ihan oikeaan julkiseen palvelimeen (arkki.info). Ehkäpä löydät jotain apua.
Ystävällisin terveisin Asmo Koskinen.
-
Noniin, nyt alan jo vähän päästä kärryille tästä hommasta. Vielä tosin en saanut yhteyttä toimimaan. ;D
Löysin ihan graafisen käyttöliittymän kautta tuon kansion (kayttajanimi/.ssh), piti vain laittaa piilotetut tiedostot näkyviin. Noh, minä sitten tein Windowsin puolella PuttyGenillä avaimet. Laitoin avaimet muistitikulle ja siirsin Ubuntukoneelle tuohon kansioon ne. Pitäisikö avainten toimia nyt ihan heittämällä? Yritin nimittäin Puttyllä yhdistää ja se sanoi ettei avaimet täsmää. Muistin myös lisätä Puttyssä privaatin avaimen, jonka loin.
-
Nyt sain toimimaan tuon SSH-yhteyden kans. Entäpä kun nyt vaikka WinSCP:llä yhdistän Windows-koneelta tuonne, niin siinä näkyy kaikki kansiot mitä minulla on Ubuntukoneella. Kannattaisiko minun tehdä jotkin erilliset FTP-tunnukset, joilla näkyisi ainoastaan esim. var/www/ -kansio?
-
Nyt sain toimimaan tuon SSH-yhteyden kans. Entäpä kun nyt vaikka WinSCP:llä yhdistän Windows-koneelta tuonne, niin siinä näkyy kaikki kansiot mitä minulla on Ubuntukoneella. Kannattaisiko minun tehdä jotkin erilliset FTP-tunnukset, joilla näkyisi ainoastaan esim. var/www/ -kansio?
Kannattaa tehdä siten, että pystyy kirjautumaan vain yhdellä käyttäjällä, ja silläkin ilman passua l. julkisten ja privaatti-avaimien avulla.
Se, että näkee muitakin kansioita on todennäköisesti vain hyvä, sillä silloin pystyy säätämään etäkoneelta sevua suoraan, eikä tarvitse mennä fyysisesti paikalle nykimään konetta.