Recentemente ho spostato il mio sito da Django DreamHost a causa di scarsi risultati per l'opzione piano da 256 Slicehost FastCGI. Se ti iscrivi con loro, si prega di inerte@gmail.com "uso" per il tuo referral. Non ho idea di quanto pagano per i referral, ma il denaro è denaro buono ;)

Ecco la mia guida:

Registrati per Slicehost

Indolore la registrazione mi ha dato la password di root in 2 minuti. Scrivete il vostro indirizzo IP e la tua password di root da qualche parte in modo da non dimenticare.

Il programma di installazione dei pacchetti

SSH (ho usato Putty) al server, l'autenticazione, ed eseguire i comandi che seguono. Ho deciso di installare PHP, perché ho i domini di usarlo. Inoltre, è necessario per phpMyAdmin.

  $ Apt-get install apache2
 $ Apt-get install libapache2-mod-python2.4
 $ Apt-get install mysql-server
 $ Apt-get install python2.4-mysqldb
 $ Apt-get install php5
 $ Apt-get install php5-mysql
 $ Apache2ctl restart
 $ / Etc/init.d/apache2 reload 

Setup Mysql

  $ Mysql-u root
 mysql> UPDATE mysql.user SET Password = PASSWORD ( 'your_root_mysql_password') WHERE User = 'root';
 mysql> FLUSH PRIVILEGES;
 mysql> quit 

Opzionale: Installare phpMyAdmin

È solo più facile. Ho deciso di non installare il server FTP per caricare i miei file. Invece, ho usato WinSFTP, il client sftp per Microsoft Windows. Scaricarlo e installarlo. Aperto, incollare Slice il vostro indirizzo IP e navigare in / var / www / directory, phpMyAdmin upload e seguire le istruzioni per l'installazione.

Setup Django

  $ Cd / usr/lib/python2.4/site-packages /
 $ Svn co http://code.djangoproject.com/svn/django/trunk/ Django 

Setup vostro progetto Django

Open WinSFTP ancora, passare alla usr/lib/python2.4/site-packages / / directory e caricare il vostro progetto Django.

Modificare il file di settings.py.

  VI / usr/lib/python2.4/site-packages/your_django_project/settings.py 

Ti mostrano solo ciò che si deve cambiare, oltre a tutto ciò che è necessario per il vostro progetto di lavoro (come INSTALLED_APPS):

  DATABASE_ENGINE = 'mysql'
 Database_name = 'your_db_name'
 Database_user = 'your_db_user'
 Database_password = 'your_db_password' 

Io uso una directory per i file multimediali chiamato "web" per la maggior parte dei miei progetti:

  MEDIA_ROOT = '/ var / www / your_domain.com / web /'
 MEDIA_URL = '/ web /' 

Avrete anche per cambiare il TEMPLATE_DIRS tupla. Appena messo tutto quello che uso. Here's mine di riferimento:

TEMPLATE_DIRS = (
# Put stringhe qui, come "/ home / html / django_templates.
# Usare sempre slash, anche su Windows.
'/ Usr/lib/python2.4/site-packages/my_django_project/templates/my_django_project /',
)

Setup del dominio

  $ Mkdir / var / www / your_domain.com
 $ Mkdir / var/log/apache2/your_domain.com
 $ Vi / etc/apache2/sites-available/your_domain.com 

Incollare il testo all'interno del file:

<VirtualHost *>
ServerName www.your_domain.com
ServerAlias your_domain.com
# Le tre righe sotto rimuovere il www dal nome di dominio. Non mi piace wwws.
RewriteEngine On
RewriteCond% (HTTP_HOST) ^ www \. Dominio \. Com [CN]
RewriteRule (.*) http://your_domain.com $ 1 [R = 301, L]

/ Var DocumentRoot / www / your_domain.com

CustomLog / var/log/apache2/your_domain.com/access.log combinato
ErrorLog / var/log/apache2/your_domain.com/error.log

Python SetHandler programma
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE your_django_project.settings
PythonDebug Off
] PYTHONPATH "[ '/ usr/lib/python2.4/site-packages/django' + sys.path"

# La mia media directory (come indicato nella sezione precedente)
<location "/web/">
SetHandler Nessuno
</ Location>
# Necessario per i media admin Django's file
<location "/media/">
SetHandler Nessuno
</ Location>
</ VirtualHost>

Symlink configurazione del dominio nuovo file nella directory corretta:

  ln-s / etc/apache2/sites-available/your_domain.com / etc/apache2/sites-enabled/your_domain.com 

Symlink Django's admin file multimediali per il tuo dominio:

  ln-s / usr/lib/python2.4/site-packages/django/django/contrib/admin/media / / var / www / your_domain.com / media 

Modifica il file di configurazione di Apache per dire che il vostro indirizzo IP:

  VI / etc/apache2/apache2.conf 

Incolla questo prima che il # Include le configurazioni host virtuale: la linea (è l'ultimo prima):

  ServerName your.slice.ip.address 

Modificare la rotazione di log di Apache per includere il nuovo dominio:

  VI / etc/logrotate.d/apache2 

Incolla questo alla fine:

  / Var/log/apache2/your_domain.com / *. log (
         settimanale
         missingok
         rotazione 52
         comprimere
         delaycompress
         notifempty
         create 640 root adm
         sharedscripts
         postrotate
                 if [-f / var/run/apache2.pid] then
                         / Etc/init.d/apache2 restart> / dev / null
                 FI
         Endscript
 ) 

Server DNS

Ho provato a installare il server DNS, ma non solo ho pensato che è difficile, avendo un unico punto di fallimento è male. Così ho firmato con DNS Made Easy e li lascio gestire questo per me. E 'semplice super, dopo aver riunito, aggiungere il tuo dominio DNS Made Easy e scrivere gli indirizzi dei server DNS. Attendere fino a quando il nome di dominio è "creato" (a me, che varia da 30 minuti a 2 ore), e modificare il server DNS dal vostro record di nome di dominio.

Last Action

Riavviare Apache ancora una volta:

  $ Apache2ctl restart
 $ / Etc/init.d/apache2 reload 

E abbiamo finito! Con un avvertimento: Abbiamo verificato Django "trunk" directory nella directory di Python. Ciò significa che la vita reale delle directory django qui sotto:

/ Usr/lib/python2.4/site-packages/django/django /

Il che significa che se si desidera utilizzare mai mod_python Django's Apache fuori, dovrete aggiungere la directory / usr/lib/python2.4/site-packages/django al tuo sys.path. Oppure, si potrebbe checkout Django a qualche altra parte, e spostare il "reale" directory django a site-packages / (e cambiare il / etc/apache2/sites-available/your_domain.com) di conseguenza.

Se avete problemi, scrivere qualcosa i commenti qui e cercherò di aiutarvi.

  • Awesome post! Facci sapere se hai bisogno di nulla e goditi la tua fetta. Sarò con link a questo sul Wiki Slicehost e Forum. Grazie!
  • Kenzie
    Chiedersi perché si mette il file di registro del dominio nella loro directory? Ho appena metterli nelle principali / var / log / apache il domain.tld-access.log e quindi logrotate li gestisce senza modifiche.

    Non vi è alcun motivo per metterli in una directory separata diverso da preferenze personali?

    Grande write-up, grazie.
  • inerte
    Hi Kenzie,

    Nessun motivo in particolare. Credo che la preferenza personale.
  • Tom
    Hi - quale distribuzione Linux stai usando il Slicehost?
  • inerte
    Sto usando Ubuntu.
  • Nel caso di '-s / etc / apache / sites-available / your_domain.com / etc / apache / sites-enabled / your_domain.com' essere 'ln-s / etc/apache2/sites-available/your_domain.com / etc/apache2/sites-enabled/your_domain.com '?
  • inerte
    Sì Jim, grazie per la correzione. Articolo aggiornato.
  • Ahoy!
    Tu sei il primo codice di riferimento per Slicehost che ho trovato quando usare Google per uno così ho intenzione di aggiungere il vostro, come mi iscrivo :-)
  • Hiya,

    Grazie per la scrittura-up (ho usato anche voi come il mio rinvio) - paio di domande / note:


    Sei esegue la versione prefork di Apache2?
    Per ottenere la sovversione sul mio slice (Django per eseguire il check-out), ho anche eseguito apt-get install subversion
    Non riuscivo a django-comando Django admin.py di lavorare da linea di comando, così ho installato django0.95 dal tarball, che sembrava funzionare meglio.


    -Joe
  • O semplicemente l'uso su Ubuntu

    a2ensite your_domain.com

    a2ensite è uno script a portata di mano che fa il softlinking per voi
commenti del blog powered by Disqus

Português flagItaliano flagCoreano flagChinês (simplificado) flagEnglish flagAlemâo flagFrancês flagEspanhol flag
Japonês flagÁrabe flagRusso flagHolandês flagBúlgaro flagTcheco flagCroata flagDinamarquês flag
Finlandês flagHindu flagPolonês flagRomeno flagSueco flagGrego flagNorueguês flag 
By N2H
Dolet 96 di sconto su hosting DreamHost!
Utilizzare la "PROMO CODE" inerzia. LAMPADA con 20GB di spazio e 1 TB di trasferimento.

Copertura

  • No Related Posts

Categorie