Installare OWNCLOUD su CentOS 7

ownCloud è la piattaforma opensource che ti permette di avere un servizio personale di sincronizzazione. E’ molto simile a dropbox ma gira su un server personale.

In questo tutorial vedremo come installare l’ultima versione di owncloud 10 (v.10.0.2) su CentOS 7.

OwnCloud richiede i seguenti software per funzionare:

  • MySQL/MariaDB
  • PHP 5.4 +
  • Apache 2.4 con mod_php

Per il nostro tutorial abbiamo scelto MariaDB, PHP 5.5 e Apache 2.4

 

Partiamo con l’installazione di MariaDB

# yum install mariadbserver mariadb
Facciamolo partire
# systemctl start mariadb
Mettiamolo in esecuzione automatica all’avvio
# systemctl enable mariadb
Adesso configuriamolo ricordandoci di annotare la password per MYSQL
# mysql_secure_installation
Adesso installiamo Apache
# yum install httpd
Facciamo partire e abilitiamolo all’avvio automatico
# systemctl start httpd
# systemctl enable httpd
Adesso per testare apache apriamo sul browser l’indirizzo del server http://your-machine-ip/ e dovrebbe comparire la seguente pagina
apache2
Installiamo PHP 5.5
Per prima cosa installiamo il repository SCL
# yum install centosreleasescl
Iniziamo l’installazione di PHP e dei moduli necessari
# yum install php55 php55php php55phpgd php55phpmbstring php55phpmysqlnd
Copiamo i moduli di PHP in Apache
# cp /opt/rh/httpd24/root/etc/httpd/conf.d/php55-php.conf /etc/httpd/conf.d/
# cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-php55-php.conf /etc/httpd/conf.modules.d/
# cp /opt/rh/httpd24/root/etc/httpd/modules/libphp55-php5.so /etc/httpd/modules/
Facciamo ripartire Apache
# systemctl restart httpd
Verifichiamo che PHP e Apache funzionino correttamente attraverso phpinfo. Creiamo un nuovo file nella directory home di Apache
# nano /var/www/html/info.php
con il seguente testo
<?php
phpinfo();
?>
Adesso apriamo nel browser http://your-machine-ip/info.php e dovrebbe comparire la seguente schermata
phpinfo
 Installiamo adesso ownCloud 10
eseguiamo questo comando con i diritti di root
# rpm –import https://download.owncloud.org/download/repositories/10.0.0/CentOS_7/repodata/repomd.xml.key
# wget http://download.owncloud.org/download/repositories/10.0.0/CentOS_7/ce:10.0.repo -O /etc/yum.repos.d/ce:10.0.repo
# yum clean expirecache
A questo punto procediamo con l’installazione
# yum install owncloudfiles
Alla fine dell’installazione apriamo il browser http://your-server-ip/owncloud e dovresti vedere questa pagina
owncloud permissions
Adesso dobbiamo dare i permessi corretti alle cartelle di ownCloud
Creiamo il seguente script
#nano /tmp/alfacomcloud.sh
e inseriamo all’interno il seguente testo
#!/bin/bash
ocpath=’/var/www/html/owncloud’
htuser=’apache’
htgroup=’apache’
rootuser=’root’printf “Creating possible missing Directories\n”
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater

printf “chmod Files and Directories\n”
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750

printf “chown Directories\n”
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/

chmod +x ${ocpath}/occ

printf “chmod/chown .htaccess\n”
if [ -f ${ocpath}/.htaccess ] then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ] then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi

Diamo i permessi di esecuzione allo script ed eseguiamolo
# chmod 755 /tmp/alfacomcloud.sh
# /tmp/alfacomcloud.sh
dovremmo avere questo risultato
Creating possible missing Directories
chmod Files and Directories
chown Directories
chmod/chown .htaccess
Se avete SELinux abilitato nella tua distribuzione Linux devi eseguire i seguenti comandi
# semanage fcontext -a -t httpd_sys_rw_content_t ‘/var/www/html/owncloud/data’
# restorecon ‘/var/www/html/owncloud/data’
# semanage fcontext -a -t httpd_sys_rw_content_t ‘/var/www/html/owncloud/config’
# restorecon ‘/var/www/html/owncloud/config’
# semanage fcontext -a -t httpd_sys_rw_content_t ‘/var/www/html/owncloud/apps’
# restorecon ‘/var/www/html/owncloud/apps’
A questo punto aggiornate la pagina del browser e dovrebbe uscire la seguente schermata
owncloud mysql
Configuriamo il Database
Adesso dobbiamo creare il database e i permessi di accesso
# mysql -u root -p
Enter password:
una volta dentro SQL eseguiamo i seguenti comandi
CREATE DATABASE owncloudDB;
GRANT ALL ON owncloudDB.* to ‘ownclouduser’@’localhost’ IDENTIFIED BY ‘inserisci la tua password‘;
FLUSH PRIVILEGES;
quit
Torniamo al nostro browser e inseriamo le informazioni richieste
owncloud mysql
Una volta finito avremo la seguente schermata
ownCloud 9.0.2 Web Interface
Buon Lavoro

Ridimensionamento Cartelle in CentOS 7

Quando installate CentOS7 di default installa delle partizioni divise per root e home come di seguito riportato:

# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk 
sda               8:0    0   70G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 69.5G  0 part 
  ├─centos-swap 253:0    0    2G  0 lvm  [SWAP]
  ├─centos-root 253:1    0 45.3G  0 lvm  /
  └─centos-home 253:2    0 22.1G  0 lvm  /home
sr0              11:0    1 1024M  0 rom

come si può evincere la Home ha 22.1 gb di spazio e la root 45.3 gb.

Quello che andremo a fare sarà eliminare la partizione home e incrementare lo spazio della directory root

Come prima cosa iniziamo a fare un backup di tutti i dati presenti su tutte le partizioni onde evitare che in caso di errori sulla procedura si possano perdere informazioni importanti. Ricordatevi di salvare tutto ciò che è presente nella directory home in quanto la stessa sarà eliminata definitivamente.

Iniziamo con smontare la Partizione centos-home

# umount /home/
Adesso vediamo i volumi logici

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                H8tAWA-f5nF-iBXR-Ew3L-djcI-4Vpg-zcjsPK
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-07-20 05:28:54 -0400
  LV Status              available
  # open                 1
  LV Size                45.34 GiB
  Current LE             11607
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                VvIe9h-ZdOF-KvhU-PDLZ-zpXD-rrMV-MTAwSA
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-07-20 05:28:54 -0400
  LV Status              available
  # open                 0
  LV Size                22.14 GiB
  Current LE             5667
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                1C22cf-Mq0r-5cDY-YX5T-d7sh-tMLu-zbAxAh
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-07-20 05:28:55 -0400
  LV Status              available
  # open                 2
  LV Size                2.03 GiB
  Current LE             520
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

Rimuoviamo il volume logico centos-home

# lvremove /dev/centos/home
Do you really want to remove active logical volume home? [y/n]: y
Logical volume "home" successfully removed


Adesso controlliamo lo spazio disponibile con il comando vgs

# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  centos   1   2   0 wz--n- 69.51g 22.14g

Adesso ridimensionamo la partizione centos-root

# lvextend --size +22.13GB -r /dev/mapper/centos-root 
  Rounding size to boundary between physical extents: 22.13 GiB
  Extending logical volume root to 67.47 GiB
  Logical volume root successfully resized
meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=2971392 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=11885568, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=5803, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 11885568 to 17687552

Nota bene quando abbiamo incrementato abbiamo dato come parametro 22.13gb invece di 22.14gb questo per evitare un errore per spazio libero insufficiente.

 

Controlliamo la nuova configurazione dello spazio delle partizioni

# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk 
sda               8:0    0   70G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 69.5G  0 part 
  ├─centos-swap 253:0    0    2G  0 lvm  [SWAP]
  └─centos-root 253:1    0 67.5G  0 lvm  /
sr0              11:0    1 1024M  0 rom  


Rimuoviamo centos-home da fstab in modo da non avere errori durante l’avvio del sistema

# sed -i '/centos-home/d' /etc/fstab

 

A questo punto riavviamo e abbiamo finito.

Grazie

Open chat
1
hai bisogno di aiuto?
Ciao,
possiamo aiutarti?