• User Attivo

    Server Linux/PHP

    Ciao a tutti sono un maintainer e da poco ho aperto al "pubblico" la possibilità di acquistare spazi su server PHP. Quindi ho creato un server Linux Ubuntu 8.10 Server...
    Potete consigliarmi su quello che devo fare per far funzionare bene i servizi?
    Potete spiegarmi tutti i passaggi per favore?
    Grazie!!!


  • Moderatore

    praticamente si tratta di configurare mille cose a partire dai dns, fino alla posta elettronica, al web server, alle estensioni mysql per postfix e alla fine volendo offrire hosting devi pure installare un qualche pannello di controllo

    non era meglio cominciare con CentOS che è molto più userfriendly? ubuntu non offre praticamente nulla di grafico per la configurazione del server....hai la possibilità di installare webmin ma nient'altro

    comunque puoi partire da qui https://help.ubuntu.com/7.04/server/C/ per farti un'idea del da farsi


  • User Attivo

    i DNS sono già impostati in un server Windows....
    a me interessa il server Linux solo per far girare bene PHP...
    Per fare ciò cosa devo fare?
    Ho installato:

    • Apache2
    • Vsftpd
    • PHP
    • MySql
    • PhpMyAdmin
      e poi? non riesco a configurarli bene...ho seguito tutte le guide possibili ed immaginabili ma....
      Ho spostato la root directory di Apache da /var/www a /usr/local/apache/htdocs
      Ma a questa cartella e le sue figlie, che permessi e che proprietari/gruppi devo impostare??

    Comunque su ubuntu utilizzo GNOME....
    Ciau!!


  • Moderatore

    @talkoman said:

    i DNS sono già impostati in un server Windows....

    un attimo.....in pratica hai due server....uno windows che ospita il servizio dns e si occupa di mappare i domini negli ip assegnati al server linux dove saranno ospitati i siti

    a me interessa il server Linux solo per far girare bene PHP...

    dipende da cosa intendi fare...

    se vuoi installare php come cli allora serve solo php, se vuoi creare un servizio di hosting che offre php, ovviamente devi installare tutto il resto e cioè apache, mysql, ecc....

    la root di apache puoi benissimo lasciarla a /var/www ovviamente i permessi vanno adattati in modo che le varie subdirectory siano di proprietà dei rispettivi utenti

    in pratica se volessi ospitare un tuo sito web su quel server, dovresti impostare i permessi di www per l'utente che dovrà fare l'upload dei file in quella directory

    se per esempio l'utente pippo deve fare l'upload, devi fare chown -R pippo:pippo www

    ovviamente se devi ospitare un sistema di hosting condiviso le directory vanno create sotto /var/www e ad ogni nuovo utente che si iscrive e ovviamente la directory dell'utente va assegnata a quell'utente....questo lavoro lo fanno i vari pannelli di controllo che si occupano di queste attività, tipo vhcs

    per quanto riguarda apache non c'è molto da configurare, nel senso che funziona out of the box con un virtual host predefinito

    basta fare apt-get install apache2 e a quel punto hai attivo apache2 e puoi accedervi tramite il browser

    poi ovviamente ti server vsftpd come server ftp per permettere l'upload dei file


  • User Attivo

    Tutto questo l'ho fatto.....
    Per esempio io utente luca che sono amministratore devo essere proprietario di www e i rispettivi clienti delle proprie cartelle all'interno di www?
    Aiutami ti prego...:)


  • Moderatore

    @talkoman said:

    Tutto questo l'ho fatto.....
    Per esempio io utente luca che sono amministratore devo essere proprietario di www e i rispettivi clienti delle proprie cartelle all'interno di www?
    Aiutami ti prego...:)

    la questione è semplice....

    nel momento in cui arriva un utente e s'iscrive al tuo servizio e gli dai un tot di spazio web, il software che gestisce il servizio deve creare una subdirectory in /var/www, aggiungere un virtual host ad apache con quella subdirectory settata come root directory e la subdirectory deve avere dei permessi tali che l'utente appena iscritto possa fare l'upload ( quindi abbia permessi rwx per quella subdirectory e le sub-subdirectory ovviamente )

    chiaramente l'utente appena iscritto va aggiunto agli utenti di ubuntu e la subdirectory va settata in modo che quest'ultimo ne risulti proprietario....ovviamente la subdirectory devi avere permessi 744 per permettere il read/write al proprietario e solo il read a tutti gli altri

    ovviamente si può anche creare degli utenti virtuali, cioè degli utenti che esistono solo in un db....per esempio vsftpd lo fa http://howto.gumph.org/content/setup-virtual-users-and-directories-in-vsftpd/

    tutto però dipende da come si comporta il software di gestione e cioè vhcs......a questo proposito potresti anche considerare webmin+virtualmin al posto di vhcs....


  • User Attivo

    Se mi aiuti ad installare vhcs posso dirti di essere un hosting php a tutti gli effetti....
    Ho provato ad installarlo seguendo la guida sul sito ufficiale, c'è il comando per ubuntu per scaricarlo direttamente ma non esiste più quel file...
    Preferisci che apro un nuovo post che parla dell'installazione di VHCS?
    grazie!!
    ciau


  • Moderatore

    bah forse è meglio, potrebbe servire anche in futuro

    però ho notato che vhcs è praticamente morto, mentre il suo fork è ancora in pieno sviluppo

    potresti valutare webmin, xpanel, syscp, webcp, ispconfig, dtc

    xpanel costa 29$ ma è molto ricco di feature....lo stesso per syscp e dtc

    webmin gli ho dato uno sguardo ultimamente e sembra molto migliorato rispetto al passato


  • User Attivo

    Quindi che mi consigli? Me lo sconsigli proprio VHCS?


  • Moderatore

    @talkoman said:

    Quindi che mi consigli? Me lo sconsigli proprio VHCS?

    il problema di vhcs è che hanno smesso lo sviluppo, quindi bug non vengono patchati, nuove versioni delle distro non vengono ufficialmente supportate....nel prossimo futuro potrebbe crearti qualche problema

    il mio consiglio è di partire con webmin+virtualmin....fino a qualche anno fa non lo avrei consigliato nemmeno al mio peggior nemico, ma a quanto sto vedendo hanno cambiato moltissime cose

    in seconda battuta puoi dare un'occhiata a dtc e syscp

    ovviamente tutto dipende da quale ti risulterà più comodo da utilizzare, tenendo conto anche che dovrà essere utilizzato da clienti che hanno scarse competenze

    l'ideale è Plesk perchè lo conoscono tutti ma ovviamente è a pagamento


  • User Attivo

    Grazie dei suggerimenti...allora metto Webmin.
    Sto avendo dei problemi con i permessi sulle cartelle.
    Partiamo dalla www.
    La www, che permessi e che proprietari/gruppi deve avere?
    Le subdirectory(i siti veri e propri), abbiamo detto che devono avere come proprietario il proprietario del sito e come gruppo??


  • Moderatore

    @talkoman said:

    Grazie dei suggerimenti...allora metto Webmin.
    Sto avendo dei problemi con i permessi sulle cartelle.
    Partiamo dalla www.
    La www, che permessi e che proprietari/gruppi deve avere?
    Le subdirectory(i siti veri e propri), abbiamo detto che devono avere come proprietario il proprietario del sito e come gruppo??

    la www deve avere permessi tali da permettere a webmin di crearci dentro altre directory

    quindi dev'essere possibile per l'utente logato in webmin ( l'admin di webmin ) creare directory....se ti logghi a webmin con l'account che usi normalmente per ubuntu, allora dev'essere quello il proprietario di www

    per quanto riguarda le subdirectory dipende da webmin....in genere si setta users come gruppo


  • User Attivo

    Ciao,
    ho messo, come mi hai suggerito tu, proprietario della directory di un sito, il suo utente ftp e come gruppo ho messo user.
    Fin qui tutto a meraviglia....
    Siccome è una cartella che ospita Joomla, quando installo nuovi plugins, gli assegna come proprietario e come gruppo www-data e quindi non mi permette di cambiare permessi sulla cartella di quel plugin appena installato....


  • Moderatore

    il pacchetto di joomla va adattato nel senso che bisogna modificare i permessi tramite l'utente root

    l'unico modo per automatizzare la cosa è creare uno script ad hoc ed è per questo che è stato creato Fantastico http://netenberg.com/fantastico.php


  • User Attivo

    Non ho capito bene....


  • Moderatore

    @talkoman said:

    Non ho capito bene....

    ok, allora riassumo

    innanzitutto qual'è l'obiettivo? se ho capito bene ti interessa offrire joomla a quelli che sottoscriveranno un hosting condiviso presso di te esatto?

    in questo caso le strade sono due

    o si dà il compito all'utente, il quale dovrà scaricare ed installare joomla per fatti suoi oppure si dà la possibilità di avere direttamente joomla compreso nel servizio

    in questo secondo caso però nessun pannello di controllo può venirti in aiuto.......ti serve uno script che installa automaticamente joomla nella directory dell'utente

    per questo motivo fu creato Fantastico che offre tra l'altro phpbb, drupal, ecc....


  • User Attivo

    no no...installa tutto lui......
    non voglio offrirgli tutto già installato...
    Però ho fatto una prova installandone uno io(per il sito della mia azienda) ed è andato tutto ok....
    alla cartella /var/www/joomla.it.root (dove è presente joomla) ho dato come proprietario luca e gruppo users.
    Quando, attraverso il pannello di Joomla, installo un template, un plugins ecc ecc, lo installa, ma gli assegna come gruppo e come utente www-data e quindi io, luca, collegandomi da ftp non ho il permesso di cambiare nulla....


  • Moderatore

    sono i pacchetti dei plugin allora che sono fatti male

    in pratica devi prima scaricarli, poi scompattarli, cambiare i permessi ( sul tuo PC ) e poi fare l'upload sul server


  • User Attivo

    ma sugli altri server non funziona così...riesco a fare l'upload e poi ad utilizzarli, modificarli tranquillamente...
    forse sto sbagliando qualcosa nei permessi?

    www-data sono utente e gruppo con cui parte apache2


  • Moderatore

    questo accade perchè il server ftp modifica i permessi al volo

    c'è un thread proprio in questa sezione in cui è spiegato come configurare opportunamente vsftpd, l'umask, ecc....

    se stai usando vsftpd edita il file /etc/vsftpd.conf e comincia a cambiare umask a 022