Table des matières
- 2026:
- 2025:
4 billet(s) pour juillet 2026
| Procédure simple augmentation de la SWAP | 2026/07/17 15:49 | Jean-Baptiste |
| Exemple git clone avec Ansible | 2026/07/16 14:47 | Jean-Baptiste |
| Windows exe - Comparaison de fichiers binaires | 2026/07/16 10:25 | Jean-Baptiste |
| Pb git | 2026/07/01 17:36 | Jean-Baptiste |
Swap sur ramdisk
Voir :
Source : https://wiki.archlinux.org/index.php/Maximizing_performance
modprobe zram echo lz4 > /sys/block/zram0/comp_algorithm echo 1G > /sys/block/zram0/disksize mkswap --label zram0 /dev/zram0 swapon --priority 100 /dev/zram0
Erreur
echo 1G > /sys/block/zram0/disksize -bash: echo: write error: Invalid argument dmesg |grep zram [29996.637522] zram: Cannot initialise lz4
Solution
echo "lzo" > /sys/block/zram0/comp_algorithm
Autres
modprobe zram echo 3 > /sys/block/zram0/max_comp_streams echo "lzo" > /sys/block/zram0/comp_algorithm echo 100M > /sys/block/zram0/disksize mkswap --label zram0 /dev/zram0 swapon --priority 100 /dev/zram0
SVN synchronisation groupes LDAP
Voir
sudo apt-get install python-ldap git clone https://github.com/whitlockjc/sync-ldap-groups-to-svn-authz cd sync-ldap-groups-to-svn-authz ./sync_ldap_groups_to_svn_authz.py -d admin -p 'P@ssw0rd' -l ldap://192.168.2.53:389 -b "CN=groupe 1,CN=Users,dc=acme,dc=local" -i "sAMAccountName" # -z /etc/apache2/svn-authz
/etc/apache2/svn-authz
[groups] goupe1 = jean, user1 [DEPOT1:/] @groupe1 = r [DEPOT1:/TEST] @groupe1 = rw
/etc/apache2/sites-available/svn.conf
listen *:3695 <VirtualHost *:3695> ServerAdmin postmaster@acme.com # DocumentRoot /var/www/svn/DEPOT1 ServerName srv-svn1 # ServeurAlias srv-svn1 <Location "/"> DAV svn #SVNPath /var/www/svn/DEPOT1 SVNParentPath /var/www/svn SVNListParentPath on #AuthzLDAPAuthoritative off # Obsolete AuthBasicProvider ldap AuthType Basic AuthName "Depots" AuthLDAPURL "ldap://192.168.2.53:389/DC=acme,DC=local?sAMAccountName?sub?(objectClass=*)" AuthLDAPBindDN "user@acme.local" AuthLDAPBindPassword P@ssw0rd AuthzSVNAccessFile /etc/apache2/svn-authz require ldap-group CN="groupe 1",CN=Users,dc=acme,dc=local require ldap-user user1 <LimitExcept GET PROPFIND OPTIONS REPORT> require ldap-group CN="groupe 1",CN=Users,dc=acme,dc=local require ldap-user user1 </LimitExcept> </Location> ErrorLog ${APACHE_LOG_DIR}/svn_error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION </VirtualHost>
SVN over HTTP avec USVN - interface web d'administration de Subversion via Apache
Voir :
Voir aussi:
USVN (pour User-Friendly SVN) est une interface web permettant de gérer les droits sur les dépôts SVN. Cette application est capable d'utiliser une authentification LDAP.
apt-get install subversion apache2 libapache2-mod-svn libapache2-mod-php apt-get install php-net-ldap2 php-net-ldap3 php-ldap # Vraiment nécessaire ? apt-get install php7.0-mbstring php7.0-sqlite3 php7.0-xml
a2enmod authz_svn a2enmod rewrite
/etc/apache2/sites-available/usvn.conf
<Directory "/var/www/usvn/public"> Options +SymLinksIfOwnerMatch AllowOverride All ## For Apache HTTP 2.2 #Order allow,deny #Allow from all ## For Apache HTTP 2.4 Require all granted </Directory> <Location /usvn/svn/> ErrorDocument 404 default DAV svn SVNParentPath /var/www/usvn/files/svn SVNListParentPath off AuthType Basic AuthName "USVN" AuthUserFile /var/www/usvn/files/htpasswd Require valid-user AuthzSVNAccessFile /var/www/usvn/files/authz </Location>
Notez que nous utilisons bien AuthUserFile alors que nous voulons une authentification LDAP. USVN va écrire automatiquement le fichier htpasswd
a2ensite usvn.conf
En PHP 7 la fonction split n'existe plus, elle a été remplacée par explode
$ find . -iname "*.php" -not -wholename "./files/*" -exec grep -l '[^a-zA-Z0-9_\-]split(' {} \;
./app/controllers/BrowserajaxController.php
sed -i -e 's/split(/explode(/g' ./app/controllers/BrowserajaxController.php
/var/www/usvn/config/config.ini
[general] url.base = "/usvn" translation.locale = "fr_FR" timezone = "Europe/Paris" system.locale = "C.UTF-8" template.name = "usvn" site.title = "USVN" site.ico = "medias/usvn/images/logo_small.tiff" site.logo = "medias/usvn/images/logo_trans.png" subversion.path = "/var/www/usvn/files/" subversion.passwd = "/var/www/usvn/files/htpasswd" subversion.authz = "/var/www/usvn/files/authz" subversion.url = "http://srvsvn.local/usvn/svn/" database.adapterName = "PDO_SQLITE" database.prefix = "usvn_" database.options.dbname = "/var/www/usvn/files/usvn.db" update.checkforupdate = "0" update.lastcheckforupdate = "0" version = "1.0.7" alwaysUseDatabaseForLogin = "admin" authAdapterMethod = "ldap" ldap.options.host = "192.168.2.153" ldap.options.port = "389" ldap.options.username = "user" ldap.options.password = "P@ssw0rd" ldap.options.useStartTls = "0" ldap.options.useSsl = "0" ldap.options.bindRequiresDn = "0" ldap.options.accountCanonicalForm = "4" ldap.options.allowEmptyPassword = "0" ldap.options.optReferrals = "0" ldap.options.accountDomainNameShort = "ACME" ldap.options.baseDn = "dc=acme,dc=local" ldap.options.accountDomainName = "acme.local" ldap.options.accountFilterFormat = "(&(sAMAccountName=%s)(objectClass=*))" ldap.createGroupForUserInDB = "1" ldap.createUserInDBOnLogin = "1"
Pb
Il y a un bug dans l'appli impactant la conf LDAP. Après avoir rempli un champ, il est impossible de le reseter par l'interface web. Il faut supprimer la ligne à la main le fichier config.ini
Svn erreur svn cannot negotiate authentication mechanism
Erreur
$ svn checkout svn://hack.me:3600/Projets/Web/foo/trunk svn: E210007: Unable to connect to a repository at URL 'svn://hack.me:3600/Projets/Web/foo/trunk' svn: E210007: Impossible de négocier de mécanisme d'authentification
ou
$ svn info svn://hack.me:3600/Projets/Web/foo/trunk svn: E170013: Unable to connect to a repository at URL 'svn://hack.me:3600/Projets/Web/foo/trunk' svn: E210007: Cannot negotiate authentication mechanism
Solution
Sous Debian
sudo apt-get install libsasl2-modules
Sous RedHat7 / CentOS7
sudo yum install cyrus-sasl-md5
Support Ubuntu ESM Extended Security Maintenance
Voir :
sudo ua status
# dpkg -S /usr/bin/ua ubuntu-advantage-tools: /usr/bin/ua
