Archives du mot-clef mysql

pureftpd_adduser.sh

#!/bin/bash
# ftp
ftp_root="/home/ftp"
ftp_host="ftp.host.com"
ftp_port="21"
ftp_user=$1
ftp_passwd=`pwgen -y 12 1`
ftp_owner="www-data:www-data"
ftp_perm="555"
ftp_uid="33"
ftp_gid="33"
# mysql
mysql_user="PUREUSER"
mysql_db_name="DBNAME"
mysql_table="TABLE"
mysql_passwd="PASSWORD"
# lftp
lftp_bin="/usr/bin/lftp"
 
function usage {
    echo "Usage:"
    echo "$0 ftp_user"
}
 
if [[ $1 == "" ]]; then
    usage
    exit 1
fi
 
if [ ! -d "$ftp_root/$ftp_user" ]; then
    echo "create user home dir $ftp_root/$ftp_user"
    mkdir $ftp_root/$ftp_user
    chown $ftp_owner $ftp_root/$ftp_user
    chmod $ftp_perm $ftp_root/$ftp_user
    echo "create user $ftp_user"
    mysql -u"$mysql_user" -p"$mysql_passwd" <<EOF
INSERT INTO $mysql_db_name.$mysql_table (User, status, Password, Uid, Gid, Dir, ULBandwidth, DLBandwidth, comment, ipaccess, QuotaSize, QuotaFiles) VALUES ('$ftp_user', '1', MD5('$ftp_passwd'), '$ftp_uid', '$ftp_gid', '$ftp_root/$ftp_user', '0', '0', '', '*', '0', '0');
EOF
    echo "## FTP USER ##"
    echo "host: $ftp_host"
    echo "port: $ftp_port"
    echo "login: $ftp_user"
    echo "password: $ftp_passwd"
 
    echo "## TEST ACCOUNT ##"
    if [ -f "$lftp_bin" ]; then
	$lftp_bin -u $ftp_user,$ftp_passwd localhost -e "ls;quit"
    else
	echo "lftp ($lftp_bin) not found"
    fi
    echo "done."
else
    echo "user $ftp_user already exists"
fi

LINUX comment cree un serveur ftp avec pureftpd et mysql

Ce we pendant mes moments perdu et dieu sait qu’ils ne sont pas nombreux :p
J’ai installé un serveur pureftpd avec le support de mysql, gestion des quota et gestion de bande passante.

Donc voila un tuto très bien fais, en gros si on a des bases suffisante, c’est terminer en 5 minutes.

This document describes how to install a PureFTPd server that uses virtual users from a MySQL database instead of real system users. This is much more performant and allows to have thousands of ftp users on a single machine. In addition to that I will show the use of quota and upload/download bandwidth limits with this setup. Passwords will be stored encrypted as MD5 strings in the database.

For the administration of the MySQL database you can use web based tools like phpMyAdmin which will also be installed in this howto. phpMyAdmin is a comfortable graphical interface which means you do not have to mess around with the command line.
source

Pour le TLS , sécurité tout ça, tout ça :p

1
2
3
mkdir -p /etc/ssl/private
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
chmod 600 /etc/ssl/private/*.pem

Et on restart pureftpd avec l’option
–tls=1 : Connexions de client normaux ou sécurisé autorisé.
–tls=2 : Seul les clients sécurisés peuvent se connecter.

MySQL Les différents moteurs de stockage

Un article tres interressant sur MySQL et ses differents moteurs de stockage.

MySQL, contrairement aux autres SGBD, a la possibilité d’utiliser plusieurs moteurs de stockage dans une seule et même base de données. Cette faculté constitue un des points forts de MySQL. Cet article a pour but de vous montrer ce qui se cache derrière ces différents moteurs et comment les exploiter au mieux.

Source

MySQL Script bash pour dumper une db

Voila un ptit script pratique pour dumper une db et la compresser ^^

mysqldump.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
 
tar_args='-czf'
tmpdir='/tmp'
mysqldump_args='--user=root --password=password -c'
 
mysqldump $mysqldump_args $1 > $tmpdir/$1.sql
 
if test ! -d $2
    then
    echo 'output dir does not exists';
fi
 
if test -f $tmpdir/$1.sql
    then
    tar $tar_args $2/$1.tar.gz $tmpdir/$1.sql && rm $tmpdir/$1.sql
fi

Utilisation

/root/mysqldump.sh wordpress /home/hio/

Explication
Premier argument = nom de la db
Deuxieme argument = Repertoire qui contiendra la db dans un tar.gz

On trouvera donc un wordpress.tar.gz dans /home/hio/

hio@phpoulpe:/home/hio# ls -l /home/hio/wordpress.tar.gz
-rw-r--r-- 1 hio hio 78423 mar  3 22:05 /home/hio/wordpress.tar.gz

Simple, pratique et efficace ^^