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:
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.
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
$ Mysql-u root mysql> UPDATE mysql.user SET Password = PASSWORD ( 'your_root_mysql_password') WHERE User = 'root'; mysql> FLUSH PRIVILEGES; mysql> quit
È 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.
$ Cd / usr/lib/python2.4/site-packages / $ Svn co http://code.djangoproject.com/svn/django/trunk/ 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 /',
)
$ 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 )
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.
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.