Mammals / Ola Anderson

Detta är bloggen för min enskilda firma Mammals. Den innehåller sådant jag är intresserad av eller vill berätta om.
Teckensnitts storlek: +

Jag gillar mailinglistor och programmet Mailman - här är några kommandon som är bra att ha för mailman

MailBox 256Jag har nyligen fått uppdraget att vara värd för och även administrera föreningen Dataentusiasternas mailinglistor. Dessa körs på den i Mac OS X inbyggda listservern, som heter Mailman, som är en Open Source programvara för just detta.

Mailinglistor är en mycket bra lösning för människor att sprida information och diskutera saker. I dessa dagar är det dock vanligare att man för diskussioner på forum, facebook, twitter och via chat och liknande platser. Vilket är synd för mailinglistor fungerar riktigt bra som lösning på samma problem och erbjuder några fördelar i kraft att vara enklaste lösningen som alla kan delta i.

I Sverige så erbjuder inte så många webbhotell mailinglistor, därför har jag lagt till det i min produktkatalog. De många goda skälen att vilja köra med mailinglistor förklaras i den artikeln, läs den gärna.

Alternativ är dock Oderland som erbjuder mailinglistor inuti sina normala webhotellabonnemang. Ett annat alternativ är MailChimp som erbjuder gratis mailinglistor upp till ett visst antal deltagare (det ligger annonser i alla mail som skickas). Mailchimp kan vara väldigt intressant just för att det finns ett antal extensions till Joomla! CMS som använder sig av Mailchimp. Nya medlemmar på en site kan bli medlemmar i en mailinglista automatiskt. Anmäler man sig till ett evenemang kan man automatiskt bli medlem på en mailchimp-mailinglista. Då kan arrangören maila deltagarna viktiga saker före och efter evenemanget. Dock verkar man inte kunna ha mailinglistor under sitt eget domännamn via mailchimp (läser hastigt nu).

Vill du lära dig administrera Mailman med terminalen?

mailman logo 2010I så fall kan jag berätta mera om det och visa hur man gör i en utbildning. Men om du bara vill ha lite referenser och veta hur man skriver vissa kommandon så har jag en referens nedan (sparad här i bloggen mycket för min egen skull att kunna referera till):

Dokumentation: http://list.org/ Mailmans officiella webbplats.

Dokumentation: http://list.org/mailman-install.pdf Mailmans manual gällande installation, i mitt fall kör jag med den mailman som finns inbyggd i Mac OS X.

Dokumentation: http://wiki.list.org/display/DOC/Home

 

 

Hur man får Mailmans webbsite att dyka upp i Mac OS X Server?

  1. Jag började med att i DNS'en lägga upp en ny domän som leder till min webbserver.
  2. Sedan skapade jag en ny webbsite med den domänen med hjälp av Server Admin och pekade den på en tom mapp i mappen: /Library/WebServer/Documents/ Det är inget mera, man behöver inte ens kryssa för Mail eller Mailing List Archive under fliken "Web services".
  3. Man kan om man vill komplettera konfigurationen med att placera en index.html-fil i den mappen som pekar besökarens webbläsare direkt vidare till adressen/mailman/listinfo/ där alltså mailman huserar. Men Mac OS X är konfigurerat så att adressen "/mailman/listinfo" alltså leder till Mailman. Så om du bara lägger upp den korrekta adressen överallt, så behöver man inte en sådan pekare.

Rätt lätt eller hur?

Vilka kommandon är användbara i terminalen för Mailman?

Det finns många uppgifter man behöver göra med terminalkommandon för att administrera en mailinglista. Det finns även vissa saker som är lättare att göra med terminalkommandon än med webbläsarens och det grafiska gränssnittet på siten. Tex byta ut en viss inställning på ALLA mailinglistor som finns på servern, tex vilken mailserver den skall använda sig av eller något liknande. Så det kan vara värt det att lära sig lite. Man behöver även köra terminalkommandon för att göra backup av inställningar och listorna på prenumeranter mm.

Nedan finns några bra kommandon jag haft nytta av. Alla kommandon för Mailman finns dock på denna sida:

Mailmans kommandon

List.org > Documentation > Site Administrators

Hur man börjar "prata" med mailman via terminalen och får fram hur Mailmans kommandon funkar

Man börjar med att ansluta till sin server via terminalprogrammet. I menyn "Kommandotolk" väljer du "Ny Fjärranslutning", välj som metod SSH, lägg upp din servers namn osv. 

Om du som jag får ett felmeddelande när du gör det som lyder:

Connection closed by 194.14.0.195
[Processen slutförd]

Så beror det på att du har fel rättigheter på två filer i Mac OS X Server på den maskin du försöker ansluta till.

connection closed

Jag antar att du i Server Admin under [serverns namn] General har kryssat för både "Remote login (SSH)" och även "Remote management" (det är superviktigt att aldrig ta bort det senare krysset, då låser du dig ute från servern!).

Jag antar även att du kan ansluta till din server via VNC (skärmdelning) och se serverns skrivbord och jobba med den. Man måste göra det ibland och de två kryssen ovan gör att man kan ansluta med VNC och via SSH. Du kan i Finder prova med Gå > Anslut till server, ange adressen vnc://serverns_namn . Du får en loginruta, loggar in som admin och får upp skärmen på den andra datorn.

Du kan även se felmeddelanden varför felet ovan uppstår genom att starta programmet Systemmeddelanden på den andra maskinen, gå ner till /var/log och välja loggfilen som heter "secure.log". I den hittar du förmodligen dessa rader:

error: @@@@@@@@@@@@@@@@@@@@@@@@@
WARNING: UNPROTECTED PRIVATE KEY FILE!          @
error: @@@@@@@@@@@@@@@@@@@@@@@@@
error: Permissions 0440 for '/etc/ssh_host_rsa_key' are too open.
error: It is recommended that your private key files are NOT accessible by others.
error: This private key will be ignored.

... och gäng till rader.

Du löser detta genom att på den andra datorn gå in i mappen /etc. Du gör det genom att i Finder välja Gå > Gå till mapp, ange /etc, tryck retur. 

Markera dessa två filer ssh_host_rsa_key och ssh_hos_dsa_key. Gör sedan "Visa info" på dem och under rättigheter så raderar du användaren wheel, sätter everyone till "Ingen åtkomst" och på andaren system behöver du inte ändra något. Både "Bara läsa" och "Läsa och skriva" funkar.

ssh hos rsa key

Var mailman förvarar filer (gör backup av dessa)

Här finns bin-mappen med alla kommandon i (du måste stå här för att köra kommandon):

/usr/share/mailman

Här finns alla listorna och deras arkiv, inställningar osv, gör backup av den mappen.

/private/var/mailman

Mailman terminalsessioner börjar med...

Om du inleder dina mailman terminalkommando-sessioner med följande två kommanon så blir det jättebra:

Bli Super User (root)

sudo su

Gå sedan hit

cd /usr/share/mailman

Nu kan du sätta igång med att skicka Mailman-kommandon!

Kommandon jag haft nytta av för Mailman

Alla kommandon finns som sagt på denna sida: Lista på mailman-kommandon för site administrator

För att få reda på hur de funkar, tex kommandot config_list, så skriver du -- help efter kommandots namn. Glöm inte att inleda alla kommandon med "bin/". 

bin/config_list --help

I det hittar du alla parametrar det accepterar och vill ha. 

Du kan trycka CTRL+Z för att avbryta visningen av hjälptexten, eller tryck på mellanslag eller retur för att bläddra ner till slutet.

Synka medlemmar med textfil

Säg att jag har en textfil med epostadresser som är de medlemmar som skall finnas med på en lista.Det kan vara tex betalande medlemmar i en förening.

Den här e-postadressen skyddas mot spambots. Du måste tillåta JavaScript för att se den.
Den här e-postadressen skyddas mot spambots. Du måste tillåta JavaScript för att se den.
Den här e-postadressen skyddas mot spambots. Du måste tillåta JavaScript för att se den.

Då medlemmar tillkommer och faller ifrån så håller man ju reda på det i något annat system, tex ett medlemsregister i FileMaker som jag jobbar med.

Kan man då få ut en lista med aktuella medlemskap, så kan man tala om för mailman att synkronisera sin lista på prenumeranter på en viss lista med den filen. Då kickar den alla som inte är medlemmar längre och lägger till alla som är nya.

Det meddelande som skickas till de som kickas och det som skickas till alla som tillkommer, anger man i webbgränssnittet för Mailman: http://dinwebbserversdomän/mailman/admin/[listans_namn] > Allmänna inställningar, rubriken "Meddelanden". 

Här är kommandot (detta kommando ändrar inget alls och visar dig bara resultatet):

bin/sync_members --no-change -f /Users/ola/Desktop/2012-07-12\ Klubbhuset.txt Klubbhuset

Som synes av sökvägen ovan har jag lagt en fil på skrivbordet som heter "2012-07-12 Klubbuset.txt" och mailinglistan heter "Klubbhuset" (sista ordet på raden).

Tips: Vill du göra det lätt för dig, kan du börja skriva kommandot och när du skrivit fram till -f mellanslag så kan du dra och släppa filen ovanpå terminal-fönstret, så kommer terminalen skriva ut sökvägen till den filen. Avsluta med mellanslag, listans namn, retur.

Svaret på kommandot ovan är en lista på alla adresser som läggs till och de som kickas, men ingen läggs till eller kickas.

Här är samma kommando som utför dessa ändringar och skickar välkommen-meddelande och hej då-meddelanden:

bin/sync_members --welcome-msg=yes --goodbye-msg=yes --digest=no -f /Users/ola/Desktop/2012-07-12\ Klubbhuset.txt Klubbhuset

Återigen är svaret på kommandot alla epostadresser som kickas och läggs till, men denna gång utförs ändringarna.

Spara listors inställningar till en textfil

Detta kommando skjuter ut alla inställningar på en lista till en textfil, som sedan kan användas för att läsa in alla inställningar på listan. På så vis kan man ta backup av en listas alla inställningar.

bin/config_list -o /Users/ola/Desktop/klubbhuset-settings.txt klubbhuset

Listan heter klubbhuset och som synes vill jag spara listan på skrivbordet under namnet "klubhuset-settings.txt". Min användare är ola. 

Tips: Jag har i ett textdokument sparat ett antal rader enligt ovan, en rad per lista jag administrerar. Om jag kopierar alla de kommandona från textfilen och klistrar in dem i terminalfönstret på en gång, så kommer alla filerna för alla listor att dyka upp en efter en på skrivbordet. 

Hjälp om kommandot: 

bin/config_list --help

Spara medlemmar till textfiler

Dessa kommandon sparar antingen epostadresser eller epostadresser och namn till namngivna textfiler för namngivna listor.

bin/list_members -p -o /Users/ola/Desktop/klubbhuset-medlemmar-epost.txt klubbhuset
bin/list_members -f -p -o /Users/ola/Desktop/klubbhuset-medlemmar-epost-och-namn.txt klubbhuset

Ange listors inställningar (flera på en gång) med textfil

Ibland vill man ändra samma inställning på alla listor, tex vilken webbadress som en lista skall ha, eller vilka som skall vara admins. 

Det kan man göra genom att först spara ut till en textfil alla inställningar enligt ovan, sedan se vad de heter och hur de anges och sedan skapa en textfil "settings.txt" som innehåller endast den inställning man vill ändra.

Sedan kör man ett terminalkommando per lista som läser in textfilen och gör inställningen på den listan.

Har du följt tipset ovan om att skapa en annan textfil med en rad kommandon, ett per lista, så kan du kopiera alla från textfilen och klistra in i terminalfönstret och så utförs de en efter en. Rätt praktiskt.

Exempel på innehåll i textfilen "settings.txt", som ligger på skrivbordet:

web_page_url = "http://debatt.dataentusiasterna.se/mailman/";
 

Kommadot för att tillämpa den ändringen på klubbhuset är:

bin/config_list -i /Users/ola/Desktop/settings.txt klubbhuset

Om jag vill tillämpa det på flera så kopierar jag helt enkelt alla dessa rader och klistrar in i terminalfönstret:

bin/config_list -i /Users/ola/Desktop/settings.txt begagnat
bin/config_list -i /Users/ola/Desktop/settings.txt cafe
bin/config_list -i /Users/ola/Desktop/settings.txt digitalt_skapande
bin/config_list -i /Users/ola/Desktop/settings.txt filemaker

 osv... Sista ordet på varje rad är listans namn.

Det var vad jag hade att berätta om Mailman. Vill du veta mera kontakta mig.

 

 

Hur man ökar säkerheten i en Joomlasite genom att ...
Inställningar för DSLR-kameror som passar för film...
 

Kommentarer

Kommentarer saknas