Je viens d'installer Ubuntu Server 10.04 avec une configuration LAMP. Je souhaite y héberger un site Web, mais je ne sais pas quelle est la meilleure façon d'obtenir / modifier mes fichiers sur le serveur. Google propose de nombreuses options, mais je ne sais pas laquelle est la meilleure?
À moins qu'il n'y ait une meilleure option, j'aimerais créer les pages sur un autre PC (Windows ou Linux) et utiliser SFTP pour synchroniser les modifications sur le serveur - mais est-ce que je fais cela dans un dossier avec un lien symbolique dans ~ / ou en changeant les droits sur le dossier / var / www /?
Réponses:
Chaque configuration est différente. Pour moi, j'ai beaucoup d'utilisateurs sur un serveur qui héberge chacun des sites Web, pour vous, vous n'aurez probablement pas besoin de créer plus d'un utilisateur sur le système. Cependant, si vous gérez plusieurs sites Web sur ce serveur, cette configuration vous aidera à gérer, configurer et déboguer chaque domaine d'une manière plus facile qu'une configuration LAMP standard. Pour que cela se produise, j'utilise plusieurs appareils Apache pour contourner les erreurs d'autorisation.
Tout d'abord, voici la structure du document que j'utilise:
Chaque utilisateur a son propre compte avec un dossier de domaines (auquel j'ai ajouté pour
/etc/skel
qu'il soit créé à chaque fois. Chaque domaine a son propre dossier dans ledomains
dossier avec unhtml
dossier (j'ai mes raisons pour cela, principalement afin que les domaines puissent avoir des fichiers Web à l'extérieur N'hésitez pas à modifier cette structure comme bon vous semble, n'oubliez pas de faire ces changements tout au long de ce post.Deuxièmement, j'héberge beaucoup de sites PHP donc j'utilise suPHP dans ma configuration. Par défaut, le paquet d'archives standard n'a pas le bon indicateur de compilation activé, ce qui entraîne une version moins sécurisée de suPHP. J'ai créé mon propre package suPHP que j'utilise sur mes serveurs, instructions d'installation ci-dessous. suPHP vous permet de définir les scripts PHP utilisateur à exécuter (entre autres: php.ini personnalisé pour chaque site, etc.). J'active également suExec pour Apache - supprimant ainsi la nécessité d'avoir la propriété de l'utilisateur www-data (un utilisateur que je méprise).
Assurez-vous d'abord que Apache et tous les autres services sont installés sur votre serveur. Assurez-vous qu'ils fonctionnent au moins. Après cela, je recommande d'installer suphp-common et le module libapache2-mod-suphp requis (Plus d'informations: Que sont les PPA et comment les utiliser? ). Ensuite, après ces installations, activez suPHP et suexec en utilisant
a2enmod
Vient ensuite le fichier de configuration. J'ai créé divers outils qui génèrent automatiquement les fichiers de configuration chaque fois que j'ajoute un nouveau site; cependant, voici le modèle de base que j'utilise:
Cela configure la journalisation pour ce domaine, la racine du document et toutes les autres nécessités de base pour que le domaine fonctionne. Je place ces fichiers dans
/etc/apache2/sites-available/
généralement nommés[USER]-[DOMAIN]
et les active / désactive aveca2ensite
comme ceci:Après chaque modification des fichiers de configuration, Apache devra être rechargé avec
Bien que cela puisse sembler beaucoup pour configurer la quantité de flexibilité gagnée, à mon avis, l'emporte de loin sur le temps de configuration. Bien que vous n'ayez besoin que d'un serveur Web mono-utilisateur, à l'avenir, si vous avez toujours voulu autre chose qu'un serveur Web mono-utilisateur, vous devrez effectuer d'autres actions (ou simplement supprimer la sécurité tous ensemble) pour ce faire.
la source
Sftp est très facile à installer. Installez simplement le paquet
openssh-server
et vous aurez sftp. Assurez-vous que votre utilisateur dispose d'un bon mot de passe si vous pouvez y accéder via Internet. (8+ caractères, pas un mot du dictionnaire, ont des symboles et des chiffres).Pour les autorisations, je fais généralement cela.
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
Vous devriez ensuite être en mesure de publier des pages en vous connectant avec sftp (en utilisant votre nom d'utilisateur et votre mot de passe), puis en allant dans le dossier / var / www et en y plaçant vos fichiers.
la source
J'utilise webdav. Il est très facile à installer sur Ubuntu Server. Si vous avez installé apache, vous avez presque terminé. Justement
sudo a2enmod dav; service apache2 restart
. Vous devrez faire une petite configuration de votre site virtuel. Voici un exemple que j'utilise en production:Vous pouvez le mettre dans / srv / etc / apache2 / sites-available / mysite et ensuite le faire
sudo a2ensite mysite; sudo service apache2 reload
.Ce qui se passe ici, c'est que vous avez créé deux sites virtuels. L'un est www.mysite.com et l'autre est webdav.mysite.com. PHP a été désactivé sur webdav.mysite.com, ce qui est important.
Vous pouvez désormais accéder à votre site via http sur Ubuntu, Windows et MacOS. Tous les trois ont un support webdav intégré. Voici des instructions sur l' ajout d'un emplacement réseau webdav dans Ubuntu .
la source
mkdir -p /srv/mysite/www; chown -R www-data.www-data /srv/mysite
.Je donnerais des autorisations d'écriture à / var / www pour les données www et ajouterais votre utilisateur à ce groupe. De cette façon, il serait facile de contrôler quels utilisateurs peuvent écrire dans ce répertoire.
la source
Utilisez-vous un cadre pour votre site? Drupal, Wordpress, etc.? Drupal, par exemple, dispose d'outils pour télécharger via l'interaction du navigateur.
Avez-vous regardé Samba? Vous pouvez configurer un partage Samba (et il y a des tonnes de ressources sur le Web pour eux) et simplement utiliser l'Explorateur Windows pour ouvrir / modifier / enregistrer / supprimer. Configurez / var / www à partager, puis mappez le «lecteur réseau» à Windows.
S'agit-il d'un travail ou d'un environnement familial? Cela ressemble à la maison, mais si vous êtes dans un environnement de travail ... vous pouvez coupler Samba avec Active Directory avec des outils comme Likewise-Open. J'ai une configuration de serveur / site Web telle que ceux de la boutique informatique peuvent se connecter de chaque côté du serveur (Linux ou site Web) via leurs informations d'identification AD.
Je suggère également d'examiner quelque chose comme Mercurial. Créez un référentiel sur le serveur et synchronisez-le avec Windows via quelque chose comme TortiseHG. Je suppose que c'est comme rsync, mais vous auriez des versions, des sauvegardes, la possibilité de distribuer, etc. (SVN, Mercurial, Git, etc. toutes les options)
la source
Vous pouvez utiliser sshfs. https://help.ubuntu.com/community/SSHFS
la source
Êtes-vous après quelque chose comme ça
la source