När jag skulle ansluta till Amazon via SSH hängde sig bara min session. Körde jag verbose kunde man se följande:
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
Men inget mer hände. Efter ett par sökningar hittade jag denna tråden där MTU nämns:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1254085
När jag såg MTU-diskussionen kom jag genast ihåg att jag slagit på jumbo frames, för ökad lokal nätverksprestanda i mitt gigabitnät. Att det skulle påverka utgående SSH-sessioner var inte något som hade slagit mig. Sagt och gjort så sänkte jag MTU-storleken och det gick genast att använda ssh igen.
Exempel på hur man ställer MTU till 1500:
sudo ip link set eth0 mtu 1500
Visar inlägg med etikett ubuntu server. Visa alla inlägg
Visar inlägg med etikett ubuntu server. Visa alla inlägg
torsdag 22 oktober 2015
onsdag 16 september 2015
Dual screen X i virtualbox
Skulle sätta upp en enkel maskin i virtualbox, ubuntu server och blackbox som fönsterhanterare.
Men hur sätter man upp så det fungerar med flera skärmar och varför kan jag inte sätta upplösningen?
Jag började med att försöka sätta upplösningen med verktyget xrandr, tyvärr saknades 1920x1200.
Det löste sig så fort jag installerade virtualbox guest addons:
sudo apt-get install virtualbox-guest-X11
Efter detta var det inga problem att ställa rätt upplösning med xrandr.
Nästa steg var att få två skärmar att fungera. Jag la till en skärm i virtualbox, men varje gång jag tryckte på enable så hände ingenting. I xrandr kunde jag se att två skärmar var anslutna, men det var som att skärmen vore inaktiverad.
Efter googlande kom jag över verktyget arandr, som är gjort för att konfigurera flera skärmar.
sudo apt-get install arandr
Snabbt och lätt kunde jag aktivera min sekundära skärm och allt drog igång.
Källa: http://christian.amsuess.com/tools/arandr/
Men hur sätter man upp så det fungerar med flera skärmar och varför kan jag inte sätta upplösningen?
Jag började med att försöka sätta upplösningen med verktyget xrandr, tyvärr saknades 1920x1200.
Det löste sig så fort jag installerade virtualbox guest addons:
sudo apt-get install virtualbox-guest-X11
Efter detta var det inga problem att ställa rätt upplösning med xrandr.
Nästa steg var att få två skärmar att fungera. Jag la till en skärm i virtualbox, men varje gång jag tryckte på enable så hände ingenting. I xrandr kunde jag se att två skärmar var anslutna, men det var som att skärmen vore inaktiverad.
Efter googlande kom jag över verktyget arandr, som är gjort för att konfigurera flera skärmar.
sudo apt-get install arandr
Snabbt och lätt kunde jag aktivera min sekundära skärm och allt drog igång.
Källa: http://christian.amsuess.com/tools/arandr/
söndag 22 juni 2014
Lägg till rtorrent som tjänst i Ubuntu
Tröttnade på att alltid manuellt behöva starta rtorrent efter omstart av servern.
Lånade ett väldigt eneklt skript man kan lägga i /etc/init.d från en annan blogg.
(För den som vill ha ett mer avancerat skript finns det ett på github)
Börja med att skapa filen /etc/init.d/rtorrent
Lägg följande skript i filen:
(glöm inte att ändra "myUser" till den användaren som du vill köra rtorrent med).
Ändra rättigheter på filen
sudo chmod 755 /etc/init.d/rtorrent
Uppdatera init.d
sudo update-rc.d rtorrent defaults
Nu ska du kunna köra
sudo service rtorrent start
Källa forums.debian.net
Lånade ett väldigt eneklt skript man kan lägga i /etc/init.d från en annan blogg.
(För den som vill ha ett mer avancerat skript finns det ett på github)
Börja med att skapa filen /etc/init.d/rtorrent
Lägg följande skript i filen:
(glöm inte att ändra "myUser" till den användaren som du vill köra rtorrent med).
#! /bin/sh
### BEGIN INIT INFO
# Provides: rtorrent
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: rtorrent
# Description: start rtorrent
### END INIT INFO
case "$1" in
start)
echo "Starting rtorrent..."
su myUser-c 'screen -dmS rtorrent rtorrent'
;;
stop)
echo "Stopping rtorrent..."
killall -s 2 rtorrent
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
Ändra rättigheter på filen
sudo chmod 755 /etc/init.d/rtorrent
Uppdatera init.d
sudo update-rc.d rtorrent defaults
Nu ska du kunna köra
sudo service rtorrent start
Källa forums.debian.net
söndag 29 december 2013
Xfce4: failed to open / on
När jag försöker trycka på "Browse Network" i thunar möts jag av "failed to open / on".
Ett par googlesökningar ger mig att paketet gvfs-backends ska installeras.
sudo apt-get install gvfs-backends
Ett par googlesökningar ger mig att paketet gvfs-backends ska installeras.
sudo apt-get install gvfs-backends
Ikoner saknas i xfce4
Efter att ha installerat xfce4 i ubuntu server 13.04 märkte jag hur ikonerna saknas. Lösningen är att gå in på Applications menu -> Settings -> Appearance, gå sedan till fliken icons, välj "tango" och tryck close.
Nu ska ikonerna laddas om och finnas.
Nu ska ikonerna laddas om och finnas.
söndag 10 november 2013
Köra dator med stängt lock i Ubuntu 13.10
Efter att jag bootat om min server (som är en laptop) märkte jag att den la sig i viloläge så fort jag försökte stänga locket. För att göra situationen värre, så hängde den sig efter jag öppnade locket igen. Efter lite googlande visade det sig att det är en bugg i 13.10.
Lösningen är att redigera filen /etc/systemd/logind.conf
I den ska man lägga till raden:
HandleLidSwitch=ignore
Efter det startar jag om och kan numera stänga locket utan problem.
Källa:
bugs.launchpad.net
Lösningen är att redigera filen /etc/systemd/logind.conf
I den ska man lägga till raden:
HandleLidSwitch=ignore
Efter det startar jag om och kan numera stänga locket utan problem.
Källa:
bugs.launchpad.net
fredag 8 november 2013
Se partitionstyper i Linux
Häromdagen var jag osäker på vilka olika typer av partitioner som var monterade i mitt ubuntu-system. Kommandot df -T kan visar detta. För att få trevligare ouput på storlekar kan man lägga på -h för human readable.
Källa: linuxquestions.org
sniglom@ubuntu:~$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root btrfs 74883072 64868632 7660472 90% /
none tmpfs 4 0 4 0% /sys/fs/cgroup
udev devtmpfs 1947336 4 1947332 1% /dev
tmpfs tmpfs 391584 948 390636 1% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 1957904 0 1957904 0% /run/shm
none tmpfs 102400 0 102400 0% /run/user
/dev/sda1 ext2 233191 85180 135570 39% /boot
/dev/mapper/ubuntu-root btrfs 74883072 64868632 7660472 90% /home
/dev/sdc1 btrfs 3907010376 130943884 3773014644 4% /mnt/fillmore
/dev/sdb1 btrfs 488385560 454164988 28962604 95% /mnt/storage
Källa: linuxquestions.org
söndag 11 augusti 2013
Uppgradering av ruTorrent
I detta inlägg ska jag gå igenom hur man hämtar hem senaste versionen av ruTorrent samt återställer sin gamla konfiguration.
Jag börjar med att hämta ut senaste versionen via svn
svn checkout http://rutorrent.googlecode.com/svn/trunk/ rutorrent
I SVN-repot ligger plugin-filerna inte inuti rutorrent-installationen, det får vi lösa.
cd rutorrent
mv plugins rutorrent/
cd rutorrent
mv * ..
rm -rf rutorrent
Nu behöver vi hämta konfigurationen från vår gamla ruTorrent-installation. I mitt fall ligger den i www.
cp -r /var/www/rutorrent/conf .
Jag behöver också kopiera konfigurationen från mina plugins
cp -r /var/www/rutorrent/share .
Jag flyttar nu bort min gamla installation och lägger den nya på plats.
sudo mv /var/www/rutorrent ~/rutorrent.old
cd ..
sudo mv rutorrent /var/www/rutorrent
chown -r www-data:www-data /var/www/rutorrent
Om allt gått vägen ska din nya installation vara på plats!
Jag börjar med att hämta ut senaste versionen via svn
svn checkout http://rutorrent.googlecode.com/svn/trunk/ rutorrent
I SVN-repot ligger plugin-filerna inte inuti rutorrent-installationen, det får vi lösa.
cd rutorrent
mv plugins rutorrent/
cd rutorrent
mv * ..
rm -rf rutorrent
Nu behöver vi hämta konfigurationen från vår gamla ruTorrent-installation. I mitt fall ligger den i www.
cp -r /var/www/rutorrent/conf .
Jag behöver också kopiera konfigurationen från mina plugins
cp -r /var/www/rutorrent/share .
Jag flyttar nu bort min gamla installation och lägger den nya på plats.
sudo mv /var/www/rutorrent ~/rutorrent.old
cd ..
sudo mv rutorrent /var/www/rutorrent
chown -r www-data:www-data /var/www/rutorrent
Om allt gått vägen ska din nya installation vara på plats!
Etiketter:
problemlösning,
rtorrent,
rutorrent,
ubuntu server
rTorrent fryser
Jag har tidigare beskrivit hur man installerar rTorrent tillsammans med ruTorrent. Efter något års användande märkte jag att rTorrent började frysa mer och mer. Men det var svårt att lista ut varför, lasten var alltid låg och rTorrent kunde frysa även direkt efter omstart och när nätverkstrafiken var låg.
Efter en del sökande hittade jag till slut svaret. rTorrent förlitar sig på cURL, som i sin tur inte kan göra DNS-uppslagningar asynkront. Resultatet är att rTorrent hänger sig så fort den försöker göra en DNS-uppslagning som tar tid.
Lösningen är att kompilera om cURL tillsammans med c-ares, där efter kompilera om libtorrent och slutligen rtorrent.
1. Installera c-ares
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar zxf c-ares-1.10.0
cd c-ares-1.10.0
./configure
make
sudo make install
2. Installera cURL
wget http://curl.haxx.se/download/curl-7.31.0.tar.gz
tar zxf curl-7.31.0.tar.gz
cd curl-7.31.0
./configure --enable-ares
make
sudo make install
3. Installera libtorrent
git clone https://github.com/rakshasa/libtorrent
cd libtorrent
./autogen.sh
./configure
make
sudo make install
4. Installera rtorrent
git clone svn://rakshasa.no/libtorrent/trunk/rtorrent
cd rtorrent
./autogen.sh
./configure --with-xmlrpc-c
make
sudo make install
Efter detta kör jag curl --version för att se att följande står: Features: AsynchDNS.
Om du kör ruTorrent är det möjligt att den säger följande nu:
"rss: Some functionality will be unavailable. Web-server user can't access external program (curl)."
I så fall ska du köra:
sudo apt-get install curl php5-curl
Efter det bekräftar jag åter igen att rätt version av curl körs med hjälp av curl --version.
Källa:
FileShareFreak
Ubuntu Forums
Rutorrent Forums
Efter en del sökande hittade jag till slut svaret. rTorrent förlitar sig på cURL, som i sin tur inte kan göra DNS-uppslagningar asynkront. Resultatet är att rTorrent hänger sig så fort den försöker göra en DNS-uppslagning som tar tid.
Lösningen är att kompilera om cURL tillsammans med c-ares, där efter kompilera om libtorrent och slutligen rtorrent.
1. Installera c-ares
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar zxf c-ares-1.10.0
cd c-ares-1.10.0
./configure
make
sudo make install
2. Installera cURL
wget http://curl.haxx.se/download/curl-7.31.0.tar.gz
tar zxf curl-7.31.0.tar.gz
cd curl-7.31.0
./configure --enable-ares
make
sudo make install
3. Installera libtorrent
git clone https://github.com/rakshasa/libtorrent
cd libtorrent
./autogen.sh
./configure
make
sudo make install
4. Installera rtorrent
git clone svn://rakshasa.no/libtorrent/trunk/rtorrent
cd rtorrent
./autogen.sh
./configure --with-xmlrpc-c
make
sudo make install
Efter detta kör jag curl --version för att se att följande står: Features: AsynchDNS.
Om du kör ruTorrent är det möjligt att den säger följande nu:
"rss: Some functionality will be unavailable. Web-server user can't access external program (curl)."
I så fall ska du köra:
sudo apt-get install curl php5-curl
Efter det bekräftar jag åter igen att rätt version av curl körs med hjälp av curl --version.
Källa:
FileShareFreak
Ubuntu Forums
Rutorrent Forums
Etiketter:
problemlösning,
rtorrent,
rutorrent,
ubuntu server
torsdag 4 juli 2013
Lägga till systemvariabler permanent i bash
Redigera bash_profile
nano ~/bash_profile
Lägg till dina systemvariabler på formatet
export MINVARIABEL=mittVärde
Spara filen, logga ut och logga in igen.
nano ~/bash_profile
Lägg till dina systemvariabler på formatet
export MINVARIABEL=mittVärde
Spara filen, logga ut och logga in igen.
Lägga till identifieringsnyckel för ssh permanent
Efter att jag hade bråkat med ssh-agent och ssh-add på Ubuntu under någon vecka tröttnade jag. Det går att lägga till nycklarna permanet.
Kopiera din identifieringsnyckel till .ssh-katalogen i din hemmapp.
cp minNyckel.pem ~/.ssh
Redigera sedan konfigurationsfilen för ssh:
nano ~/.ssh/config
Lägg till följande
IdentityFile ~/.ssh/minNyckel.pem
Källa: stackOverflow
Kopiera din identifieringsnyckel till .ssh-katalogen i din hemmapp.
cp minNyckel.pem ~/.ssh
Redigera sedan konfigurationsfilen för ssh:
nano ~/.ssh/config
Lägg till följande
IdentityFile ~/.ssh/minNyckel.pem
Källa: stackOverflow
måndag 1 juli 2013
do-release-upgrade avbruten
Om du försöker uppgradera Ubuntu från en version till en annan, i mitt fall från 12.04 till 12.10 och do-release-upgrade avbryts kan du inte återuppta uppgraderingen genom att köra kommandot igen.
Lösningen är att köra följande:
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoremove
sudo reboot
Efter detta är allt som skulle gjorts med do-release-upgrade slutfört.
Källa: administratosphere
Lösningen är att köra följande:
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoremove
sudo reboot
Efter detta är allt som skulle gjorts med do-release-upgrade slutfört.
Källa: administratosphere
onsdag 26 juni 2013
Could not open a connection to your authentication agent.
När jag försöker lägga till en privat ssh-nyckel med hjälp av ssh-add möts jag av följande;
"Could not open a connection to your authentication agent."
Problemet ligger i att antingen ssh-agent inte körs eller att systemvariablerna som behövs inte är uppsatta.
Jag börjar med att försäkra mig om att ssh-agent inte körs.
sudo killall ssh-agent
Därefter lägger jag till systemvariablerna från ssh-agent med eval.
eval `ssh-agent`
Efter detta går det fint att köra
ssh-add minNyckel
En alternativ lösning är att sätta upp ett temporärt skal med miljövariablerna.
exec ssh-agent bash
Efter man kört kommandot kommer en ny bash-instans startas upp där man kan köra ssh-add.
Källor:
tmtk75
techotom
"Could not open a connection to your authentication agent."
Problemet ligger i att antingen ssh-agent inte körs eller att systemvariablerna som behövs inte är uppsatta.
Jag börjar med att försäkra mig om att ssh-agent inte körs.
sudo killall ssh-agent
Därefter lägger jag till systemvariablerna från ssh-agent med eval.
eval `ssh-agent`
Efter detta går det fint att köra
ssh-add minNyckel
En alternativ lösning är att sätta upp ett temporärt skal med miljövariablerna.
exec ssh-agent bash
Efter man kört kommandot kommer en ny bash-instans startas upp där man kan köra ssh-add.
Källor:
tmtk75
techotom
tisdag 25 juni 2013
Vilket apt-paket tillhör en fil?
Om man vill ta reda på vilket apt-paket en fil tillhör kan man göra det med verktyget apt-file.
Installera
sudo apt-get install apt-file
Uppdatera apt-files databas
sudo apt-file update
Sök efter filen
apt-file search mittFilnamn
Installera
sudo apt-get install apt-file
Uppdatera apt-files databas
sudo apt-file update
Sök efter filen
apt-file search mittFilnamn
onsdag 5 juni 2013
Gerrit och Gitweb i Ubuntu Server
Installation av gerrit & gitweb i Ubuntu server.
Detta är en grundläggande guide som tar med samtliga installationssteg. Guiden är utförd på Ubuntu Server 11, men samma steg bör gälla även för nyare versioner.
Jag har valt att använda OpenJDK och MySQL, men så klart fungerar även andra databaser och JDKer.
Huvudsakligen kommer mina instruktioner från den officiella gerrit-dokumentationen. När artikeln skrevs, 2012, var en del fel i dokumentationen och det var därför jag skrev denna artikel.
Installation av nödvändiga paket
1. Se till att alla paket är uppdaterade
sudo apt-get update
sudo apt-get upgrade
2. Installera nödvändiga paket för denna guide
sudo apt-get install mysql-server apache2 openjdk-7-jre git
The installation will ask you for a root password for the mysql database, choose a secure password. This password is only for the mysql database.
3. Jag väljer att installera gitweb separat, eftersom det kan bli problem om man försöker installera den före Apache:
sudo apt-get install gitweb
Installation av gitweb
1. Redigera konfigurationsfilen för gitweb
sudo nano /etc/gitweb.conf
Ändra
$projectroot = "/var/cache/git";
till
$projectroot = "/home/gerrit2/gerritSite/git";
2. Starta om Apache
sudo /etc/init.d/apache2 restart
3. Lägg till ett användarkonto för Gerrit
sudo adduser gerrit2
Konfigurering av MySQL
1. Nu ska vi skapa tabeller för Gerrit, börja med att starta MySQL som root.
mysql -u root -p
Observera att detta är rootlösenordet till MySQL-databasen och inte till Linux.
2. Skriv av följande rader nedan, tryck enter för varje ny rad. Har du en vettig terminal går det även att göra copy paste. Glöm inte att byta ut "myPassword" mot något säkrare!
CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'myPassword';
CREATE DATABASE reviewdb;
ALTER DATABASE reviewdb charset=latin1;
GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';
FLUSH PRIVILEGES;
Avsluta genom att skriva
exit
Installation av Gerrit
1. Byt till gerrit2-användaren.
sudo su gerrit2
2. Gå till hemmappen
cd ~/
3. Ladda hem gerrit (länk är till senaste versionen 2013-06-05)
wget https://gerrit.googlecode.com/files/gerrit-2.5.4.war
4. Kör war-paketet, detta kommer starta en installationsguide.
java -jar gerrit-2.2.1.war init -d gerritSite
5. Starta gerrit
./gerritSite/bin/gerrit.sh start
Gerrit kan också startas om eller stoppas med följande kommandon
./gerritSite/bin/gerrit.sh restart
./gerritSite/bin/gerrit.sh stop
Detta är en grundläggande guide som tar med samtliga installationssteg. Guiden är utförd på Ubuntu Server 11, men samma steg bör gälla även för nyare versioner.
Jag har valt att använda OpenJDK och MySQL, men så klart fungerar även andra databaser och JDKer.
Huvudsakligen kommer mina instruktioner från den officiella gerrit-dokumentationen. När artikeln skrevs, 2012, var en del fel i dokumentationen och det var därför jag skrev denna artikel.
Installation av nödvändiga paket
1. Se till att alla paket är uppdaterade
sudo apt-get update
sudo apt-get upgrade
2. Installera nödvändiga paket för denna guide
sudo apt-get install mysql-server apache2 openjdk-7-jre git
The installation will ask you for a root password for the mysql database, choose a secure password. This password is only for the mysql database.
3. Jag väljer att installera gitweb separat, eftersom det kan bli problem om man försöker installera den före Apache:
sudo apt-get install gitweb
Installation av gitweb
1. Redigera konfigurationsfilen för gitweb
sudo nano /etc/gitweb.conf
Ändra
$projectroot = "/var/cache/git";
till
$projectroot = "/home/gerrit2/gerritSite/git";
2. Starta om Apache
sudo /etc/init.d/apache2 restart
3. Lägg till ett användarkonto för Gerrit
sudo adduser gerrit2
Konfigurering av MySQL
1. Nu ska vi skapa tabeller för Gerrit, börja med att starta MySQL som root.
mysql -u root -p
Observera att detta är rootlösenordet till MySQL-databasen och inte till Linux.
2. Skriv av följande rader nedan, tryck enter för varje ny rad. Har du en vettig terminal går det även att göra copy paste. Glöm inte att byta ut "myPassword" mot något säkrare!
CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'myPassword';
CREATE DATABASE reviewdb;
ALTER DATABASE reviewdb charset=latin1;
GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';
FLUSH PRIVILEGES;
Avsluta genom att skriva
exit
Installation av Gerrit
1. Byt till gerrit2-användaren.
sudo su gerrit2
2. Gå till hemmappen
cd ~/
3. Ladda hem gerrit (länk är till senaste versionen 2013-06-05)
wget https://gerrit.googlecode.com/files/gerrit-2.5.4.war
4. Kör war-paketet, detta kommer starta en installationsguide.
java -jar gerrit-2.2.1.war init -d gerritSite
5. Starta gerrit
./gerritSite/bin/gerrit.sh start
Gerrit kan också startas om eller stoppas med följande kommandon
./gerritSite/bin/gerrit.sh restart
./gerritSite/bin/gerrit.sh stop
Mercurial-server och hgweb i Ubuntu Server
Jag installerade Mercurial Server på jobbet. En programvara för att administrera rättigheter och repon till Mercurial. När jag ändå hade det färskt tänkte jag passa på att posta det här.
Jag utgår från att man redan har en färdiginstallerad maskin med Ubuntu Server. Maskinen som jag installerade detta på körde Ubuntu Server 11, men proceduren borde vara precis samma på nyare versioner.
1. Börjar med att se till att alla paket är uppdaterade.
sudo apt-get update
sudo apt-get upgrade
2. Installera mercurial-server och apache2
sudo apt-get install mercurial-server apache2
3. Skapa hgweb.config
sudo nano /var/lib/mercurial-server/repos/hgweb.config
Lägg till följande text i filen:
[collections]
/var/lib/mercurial-server/repos/ = /var/lib/mercurial-server/repos/
4. Skapa index.cgi och folderstruktur
sudo mkdir /var/www/cgi-hg
sudo cp /usr/share/doc/mercurial-common/examples/hgweb.cgi /var/www/cgi-hg/index.cgi
5. Redigera index.cgi
sudo nano /var/www/cgi-hg/index.cgi
Ändra följande rad från:
config = "/path/to/repo/or/config"
till:
config = "/var/lib/mercurial-server/repos/hgweb.config"
6. Lägg till en root-användare för mercurial-server
Kopiera din publika SSH-nyckel till /etc/mercurial-server/keys/root/
Om du behöver skapa en SSH-nyckel kan detta göras med putty-keygen från Windows.
I unixoperativ kan man använda ssh-keygen kommandot.
Efter att SSH-nyckeln blivit tillagd behöver mercurial-server uppdateras för att hitta nya användare.
sudo -u hg /usr/share/mercurial-server/refresh-auth
7. Lägg till fler användare
Börja med att klona ut hgadmin-mappen från servern
clone ssh://hg@your-server/hgadmin
I din utklonade mapp ska du nu skapa följande undermappar:
keys
keys/root
keys/users
För att skapa en användare gör du en ny mapp med användarens namn, du lägger sedan hans SSH-nyckel i denna mappen. Slutligen lägger du detta i antingen root eller users och pushar tillbaka ändringarna.
Exempelvis
keys/root/enAdmin/publikNyckel
keys/users/SvenH/publikNyckel
Om du behöver ta bort en användare så tar du bort hans mapp och pushar in ändringen.
8. Konfigurera Apache
Vi börjar med att skapa en virtuell host åt Apache för att peka ut mercurial-repon.
sudo nano /etc/apache2/sites-available/default
Lägg till följande i botten av filen men ovanför taggen.
Alias /hg /var/www/cgi-hg
DirectoryIndex index.cgi
AddHandler cgi-script .cgi
Options ExecCGI
Order allow,deny
Allow from all
Slutligen, ge Apache access till hg-mapparna
sudo chown www-data:www-data -R /var/lib/mercurial-server/repos
Källor
Mercurial-server http://dev.lshift.net/paul/mercurial-server/docbook.html
Apache Configuration http://redline6561.livejournal.com/362393.html
Jag utgår från att man redan har en färdiginstallerad maskin med Ubuntu Server. Maskinen som jag installerade detta på körde Ubuntu Server 11, men proceduren borde vara precis samma på nyare versioner.
1. Börjar med att se till att alla paket är uppdaterade.
sudo apt-get update
sudo apt-get upgrade
2. Installera mercurial-server och apache2
sudo apt-get install mercurial-server apache2
3. Skapa hgweb.config
sudo nano /var/lib/mercurial-server/repos/hgweb.config
Lägg till följande text i filen:
[collections]
/var/lib/mercurial-server/repos/ = /var/lib/mercurial-server/repos/
4. Skapa index.cgi och folderstruktur
sudo mkdir /var/www/cgi-hg
sudo cp /usr/share/doc/mercurial-common/examples/hgweb.cgi /var/www/cgi-hg/index.cgi
5. Redigera index.cgi
sudo nano /var/www/cgi-hg/index.cgi
Ändra följande rad från:
config = "/path/to/repo/or/config"
till:
config = "/var/lib/mercurial-server/repos/hgweb.config"
6. Lägg till en root-användare för mercurial-server
Kopiera din publika SSH-nyckel till /etc/mercurial-server/keys/root/
Om du behöver skapa en SSH-nyckel kan detta göras med putty-keygen från Windows.
I unixoperativ kan man använda ssh-keygen kommandot.
Efter att SSH-nyckeln blivit tillagd behöver mercurial-server uppdateras för att hitta nya användare.
sudo -u hg /usr/share/mercurial-server/refresh-auth
7. Lägg till fler användare
Börja med att klona ut hgadmin-mappen från servern
clone ssh://hg@your-server/hgadmin
I din utklonade mapp ska du nu skapa följande undermappar:
keys
keys/root
keys/users
För att skapa en användare gör du en ny mapp med användarens namn, du lägger sedan hans SSH-nyckel i denna mappen. Slutligen lägger du detta i antingen root eller users och pushar tillbaka ändringarna.
Exempelvis
keys/root/enAdmin/publikNyckel
keys/users/SvenH/publikNyckel
Om du behöver ta bort en användare så tar du bort hans mapp och pushar in ändringen.
8. Konfigurera Apache
Vi börjar med att skapa en virtuell host åt Apache för att peka ut mercurial-repon.
sudo nano /etc/apache2/sites-available/default
Lägg till följande i botten av filen men ovanför taggen.
Alias /hg /var/www/cgi-hg
DirectoryIndex index.cgi
AddHandler cgi-script .cgi
Options ExecCGI
Order allow,deny
Allow from all
Slutligen, ge Apache access till hg-mapparna
sudo chown www-data:www-data -R /var/lib/mercurial-server/repos
Källor
Mercurial-server http://dev.lshift.net/paul/mercurial-server/docbook.html
Apache Configuration http://redline6561.livejournal.com/362393.html
måndag 27 maj 2013
Problem med locale i debian och ubuntu
Jag hade problem både på Ubuntu server och Debian (Raspian) att locale krånglade och spottade felmeddelanden som exempelvis "locale: Cannot Set LC_ALL to default locale: No such file or directory.".
Vanliga tips är att köra locale-gen, update-locale eller att köra dpkg-reconfigure locales. Om man kör via ssh bör man se till att den maskin man kör ssh-klienten på använder locales som finns i den maskin som kör ssh-servern. Tyvärr löste inget av detta mitt problem.
Lösningen var att manuellt redigera filen /etc/default/locale .
Min fil såg ut så här först:
# File generated by update-locale
LANG=en_US.UTF-8
Efter mina ändringar såg den ut så här:
LANG=en_US.UTF-8
LC_ALL="en_US.UTF-8"
LANGUAGE="en_UTF.UTF-8"
Efter jag sparat filen, loggade jag ut och loggade in igen. Nu fungerar locales ordentligt!
Vanliga tips är att köra locale-gen, update-locale eller att köra dpkg-reconfigure locales. Om man kör via ssh bör man se till att den maskin man kör ssh-klienten på använder locales som finns i den maskin som kör ssh-servern. Tyvärr löste inget av detta mitt problem.
Lösningen var att manuellt redigera filen /etc/default/locale .
Min fil såg ut så här först:
# File generated by update-locale
LANG=en_US.UTF-8
Efter mina ändringar såg den ut så här:
LANG=en_US.UTF-8
LC_ALL="en_US.UTF-8"
LANGUAGE="en_UTF.UTF-8"
Efter jag sparat filen, loggade jag ut och loggade in igen. Nu fungerar locales ordentligt!
Etiketter:
linux,
problemlösning,
raspberry,
ubuntu server
söndag 30 september 2012
ruTorrent i Ubuntu server
Uppdatering: Jag rekommenderar att du installerar rTorrent tillsammans med c-ares för att det inte ska frysa när många torrentar körs. För instruktioner om c-ares se mitt nya inlägg.
ruTorrent är en webbaserad frontend till rtorrent. Tanken är att den ska vara extremt lik uTorrent. ruTorrent är huvudsakligen skriven i php och kommunicerar med rtorrent genom xmlrpc-c.
Jag har installerat ruTorrent tillsammans med lighttpd, vilket är något ovanligare än Apache.
Vi börjar med att installera lighttpd och php
Vi börjar med att installera nödvändiga paket.
Dags för att kompilera och installera libtorrent.
Vi fortsätter mer att installera rTorrent.
Vi fortsätter med att lägga in rpc-stödet som krävs för att ruTorrent ska kunna kommunicera med rtorrent.
Nu har vi kommit till att lägga ruTorrent på plats.
Skapa filstruktur för rtorrent, förslagsvis i din hemmapp
Konfiguration av rTorrent:
Parametrar som behöver ändras är:
De flesta övriga inställningar går att konfigurera från ruTorrent, men det som sätts i .rtorrent.rc kommer användas som default.
Om ruTorrent ska vara öppet utifrån behöver den adressen säkras upp. Detta kan göras på följande sätt:
Lägg sedan till följande i /etc/lighttpd/lighttpd.conf
Dags att ladda om lighttpd
Har allt gått vägen ska du nu kunna nå ruTorrent med användarnamn och lösenord på http://mitthostname/rutorrent
Källa:
http://filesharefreak.com/2010/02/13/how-to-install-rtorrent-rutorrent-using-socket-ssl-authentication-on-ubuntu-or-debian
ruTorrent är en webbaserad frontend till rtorrent. Tanken är att den ska vara extremt lik uTorrent. ruTorrent är huvudsakligen skriven i php och kommunicerar med rtorrent genom xmlrpc-c.
Jag har installerat ruTorrent tillsammans med lighttpd, vilket är något ovanligare än Apache.
Vi börjar med att installera lighttpd och php
sudo apt-get install lighttpd php5 php5-common php5-cli php5-cgi php5-curlDå de flesta distributioner inte kompilerar in rpc-stöd i rTorrent blir nästa steg att ladda hem och kompilera libtorrent samt rtorrent.
Vi börjar med att installera nödvändiga paket.
sudo apt-get g++ install automake make libcppunit-dev libcurl4-nss-dev libncurses5-dev libsigc++-2.0-dev libtool libxmlrpc-c3-dev pkg-config
Dags för att kompilera och installera libtorrent.
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz
tar zxf libtorrent-0.13.2.tar.gz
cd libtorrent-0.13.2
./autogen.sh
./configure
make
sudo make install
Vi fortsätter mer att installera rTorrent.
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gzNu behöver vi konfigurera lighttpd att använda php, lägg till följande i /etc/lighttpd/lighttpd.conf
tar zxf rtorrent-0.9.2.tar.gz
cd rtorrent-0.9.2
./autogen.sh
./configure --with-xmlrpc-c
make
sudo make install
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket",
"max-procs" => 2,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"
),
"broken-scriptfilename" => "enable"
)))
Vi fortsätter med att lägga in rpc-stödet som krävs för att ruTorrent ska kunna kommunicera med rtorrent.
server.modules += ( "mod_scgi")
scgi.server = (
"/RPC2" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc.socket",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
)
)
Nu har vi kommit till att lägga ruTorrent på plats.
wget http://rutorrent.googlecode.com/files/rutorrent-3.4.tar.gzruTorrent behöver konfigureras, konfigurationsfilen finns här:
tar zxf rutorrent-3.4.tar.gz
wget http://rutorrent.googlecode.com/files/plugins-3.4.tar.gz
tar zxf plugins-3.4.tar.gz
mv plugins rutorrent/
Dags att flytta in ruTorrent till webservern.
sudo mv rutorrent /var/www/
sudo chown -r www-data:www-data /var/www/rutorrent
/var/www/rutorrent/conf/config.phpStäll följande parametrar:
$scgi_port = 0;Om du kommer ha din download-mapp någon annanstans än på din huvudpartition (sda1) behöver du ändra $topDirectory till att peka på rätt mapp.
$scgi_host = "unix:///tmp/rpc.socket";
$XMLRPCMountPoint = "/RPC2";
Skapa filstruktur för rtorrent, förslagsvis i din hemmapp
cd
mkdir rtorrent
cd rtorrent
mkdir download
mkdir watch
mkdir .session
Konfiguration av rTorrent:
cd
wget https://rtgui.googlecode.com/files/.rtorrent.rc
nano .rtorrent.rc
Parametrar som behöver ändras är:
encoding_list = UTF-8
scgi_local = /tmp/rpc.socket
schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc.socket"
directory = ~/rtorrent/download
De flesta övriga inställningar går att konfigurera från ruTorrent, men det som sätts i .rtorrent.rc kommer användas som default.
Om ruTorrent ska vara öppet utifrån behöver den adressen säkras upp. Detta kan göras på följande sätt:
sudo apt-get install apache2-utils
sudo htdigest -c /etc/lighttpd/.auth "Authorized users only" mittUserName
Lägg sedan till följande i /etc/lighttpd/lighttpd.conf
server.modules += ( "mod_auth" )
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/.auth"
auth.debug = 2
auth.require = ( "/rutorrent/" => ( "method" => "digest", "realm" => "Authorized users only", "require" => "valid-user" ) )
Dags att ladda om lighttpd
sudo service lighttpd force-reload
Har allt gått vägen ska du nu kunna nå ruTorrent med användarnamn och lösenord på http://mitthostname/rutorrent
Källa:
http://filesharefreak.com/2010/02/13/how-to-install-rtorrent-rutorrent-using-socket-ssl-authentication-on-ubuntu-or-debian
Etiketter:
linux lighttpd,
rtorrent,
rutorrent,
ubuntu server,
utorrent
fredag 6 juli 2012
Partitonera GPT-diskar med fdisk
Om du försöker använda fdisk på en disk med GPT (dvs, inte MBR), kommer fdisk att säga The util fdisk doesn't support GPT. Use GNU Parted.
Om man inte vill använda gparted är en lösning att rensa bort GPT-informationen från disken och därefter formatera den med fdisk.
GPT-datan kan tas bort med hjälp av sgdisk och zap-kommandot. Exempelvis:
sgdisk --zap /dev/sdb
Om man inte vill använda gparted är en lösning att rensa bort GPT-informationen från disken och därefter formatera den med fdisk.
GPT-datan kan tas bort med hjälp av sgdisk och zap-kommandot. Exempelvis:
sgdisk --zap /dev/sdb
Läsfel med LVM på extern disk.
Efter mycket försök fram och tillbaka vill jag varna andra, LVM fungerar inte bra med externa diskar.
Exempelvis fick jag fel som read failed after 0 of 4096 fastän det inte var något fel på disken.
Enligt ArchWiki ska en lösning på detta vara att avmontera disken, koppla ur den ett par minuter och koppla in den igen. När jag gjorde detta kunde jag läsa ett par filer innan jag fick läsfel åter igen.
Min rekommendation är att koppla in disken internt, för mig fungerade det direkt utan några problem alls.
Exempelvis fick jag fel som read failed after 0 of 4096 fastän det inte var något fel på disken.
Enligt ArchWiki ska en lösning på detta vara att avmontera disken, koppla ur den ett par minuter och koppla in den igen. När jag gjorde detta kunde jag läsa ett par filer innan jag fick läsfel åter igen.
Min rekommendation är att koppla in disken internt, för mig fungerade det direkt utan några problem alls.
Prenumerera på:
Inlägg (Atom)