Ceci est une ancienne révision du document !
Table des matières
Owncloud sur Raspberry Pi (clone de Dropbox)
ownCloud est un cloud personnel qui s'exécute sur votre propre serveur. Nous allons voir comment créer votre propre service OwnCloud (sorte de dropbox personnel) sur un Raspberry Pi.
Si vous ne souhaitez pas suivre les étapes de téléchargement et de configuration du logiciel, vous pouvez télécharger l'image que j'ai configurée à partir d'ici. Bien que j'aie fait tout mon possible pour vérifier que cela fonctionne, vous l'utilisez à vos risques et périls. Si vous téléchargez l'image, passez à l'étape 5.
Introduction
Pré-requis
- Un Raspberry Pi
- Un disque dur externe USB ou une clé USB
- Un boîtier pour le Raspberry Pi et le disque dur
- Carte réseau sans fil (en option)
Première étape
- Étape 1 : Ce dont vous avez besoin
- Étape 2 : Configurer le réseau Télécharger le logiciel
pi@framboise4:~ $ sudo openssl genrsa -des3 -out server.key 1024 Generating RSA private key, 1024 bit long modulus (2 primes) .....................+++++ ...............+++++ e is 65537 (0x010001) Enter pass phrase for server.key: Verifying - Enter pass phrase for server.key: pi@framboise4:~ $ sudo openssl rsa -in server.key -out server.key.insecure Enter pass phrase for server.key: writing RSA key pi@framboise4:~ $ sudo openssl req -new -key server.key -out server.csr Enter pass phrase for server.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:FR State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:pass An optional company name []: pi@framboise4:~ $ sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt Signature ok subject=C = FR, ST = Some-State, O = Internet Widgits Pty Ltd Getting Private key Enter pass phrase for server.key: pi@framboise4:~ $ sudo cp server.crt /etc/ssl/certs pi@framboise4:~ $ sudo cp server.key /etc/ssl/private pi@framboise4:~ $ sudo a2enmod ssl ... Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: systemctl restart apache2 pi@framboise4:~ $ sudo a2ensite default.ssl Enabling site default-ssl. To activate the new configuration, you need to run: systemctl restart apache2
- Donnez au Pi une adresse IP fixe :
- Éditez avec les droits d'administration le fichier /etc/network/interfaces pour qu'il ressemble à ceci 1) :
- /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.1.118 gateway 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255
- Redémarrez le réseau :
pi@framboise4:~ $ sudo /etc/init.d/networking restart
Mettez à jour le Pi et téléchargez le logiciel :pi@framboise4:~ $ sudo apt-get update
Installez Apache, SSL, PHP5, PHP APC qui chargeront les pages plus rapidement :pi@framboise4:~ $ sudo apt-get install apache2 php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl4-openssl-dev php5-curl php5-gd php5-cgi php-pear php5-dev build-essential libpcre3-dev php5 libapache2-mod-php5 php-apc gparted
Étape 3 : Configurez Php et Apache :pi@framboise4:~ $ sudo openssl genrsa -des3 -out server.key 1024 Generating RSA private key, 1024 bit long modulus (2 primes) .....................+++++ ...............+++++ e is 65537 (0x010001) Enter pass phrase for server.key: Verifying - Enter pass phrase for server.key: pi@framboise4:~ $ sudo openssl rsa -in server.key -out server.key.insecure Enter pass phrase for server.key: writing RSA key pi@framboise4:~ $ sudo openssl req -new -key server.key -out server.csr Enter pass phrase for server.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:FR State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:pass An optional company name []: pi@framboise4:~ $ sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt Signature ok subject=C = FR, ST = Some-State, O = Internet Widgits Pty Ltd Getting Private key Enter pass phrase for server.key: pi@framboise4:~ $ sudo cp server.crt /etc/ssl/certs pi@framboise4:~ $ sudo cp server.key /etc/ssl/private pi@framboise4:~ $ sudo a2enmod ssl ... Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: systemctl restart apache2 pi@framboise4:~ $ sudo a2ensite default.ssl Enabling site default-ssl. To activate the new configuration, you need to run: systemctl restart apache2
; When enabled, the ENV, REQUEST and SERVER variables are created when they're ; first used (Just In Time) instead of when the script starts. If these ; variables are not used within a script, having this directive on will result ; in a performance gain. The PHP directive register_argc_argv must be disabled ; for this directive to have any affect. ; http://php.net/auto-globals-jit auto_globals_jit = On ; Whether PHP will read the POST data. ; This option is enabled by default. ; Most Likely, you won't want to disable this option globally. It causes $_POST ; and $_FILES to always be empty: the only way you will be able to read the ; POST data will be through the php://input stream wrapper. This can be useful ; to proxy requests or to process the POST data in a memory efficient fashion. ; http://php.net/enable-post-data-reading ;enable_post_data_reading = Off ; Maximum size of POST data that PHP will accept. ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. ; http://php.net/post-max-size post_max_size = 120M ; Automatically add files before PHP document. ; http://php.net/auto-prepend-file auto_prepend_fite = ; Automatically add files after PHP document. ; http://php.net/auto-append-file auto_append_file = ; By default, PHP will output a character encoding using ; the Content-type: header. To disable sending of the charset, simply ; set it to be empty. ; ; PHP's built-in default is text/html ; http://php.net/default-mimetype default_mimetype = “text/html" ; PHP's default character set is set to empty. ; http://php.net/default-charset ;default_charset = "UTF-8" ; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is ;;;;;;;;;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir ;upload_tmp_dir = ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 1024M ; Maximum number of files that can be uploaded via a single request max_file_uploads = 20 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Fopen wrappers ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. ; http://php.net/allow-url-fopen allow_url_fopen = On ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. ; http://php.net/allow-url-include allow_url_include = Off ; Define the anonymous ftp password (your email address). PHP's default setting ; for this is empty. ; http://php.net/from ; from="john@doe.com" ; Define the User-Agent string. PHP's default setting for this is empty. ; http://php.net/user-agent ;user_agent="PHP" ; Default timeout for socket based streams (seconds) ; http://php.net/default-socket-timeout default_socket_timeout = 60 ; If your scripts have to deal with files from Macintosh systems, ; or you are running on a Mac and need to deal with files from
Autres étapes
Conclusion
Problèmes connus
Voir aussi
1)votre adresse IP peut être différente