Magento development instance

I had to help a customer setting up a local instance of their Magento webshop.

Credit where credit is due.
Forked from http://wrightcreativelabs.com/create-a-test-instance-of-a-magento-store/

When the production site is in a state that is ready to copy, here are the steps to take:

  1. Decide on the location for the development instance files.  In this case, we have a separate domain, mytestserver.net, and a subdirectory for each test instance.
    [bash] cd /home/mytestserver/public_html/
    mkdir newtestsite
    [/bash]
  2. Copy the production server Magento files to the new test server subdirectory.
    [bash] cp -r /home/myprodserver/public_html/* /home/mytestserver/public_html/newtestsite/
    cp /home/myprodserver/public_html/.htaccess /home/mytestserver/public_html/newtestsite/
    [/bash]
  3. Create a new empty database on the testserver.
  4. Create a data dump from the production database. The mySQL command is noted below. Replace the all caps items with your information.
    [bash]mysqldump -h DBHOST -u DBUSER -pDBPASS DBNAME > /home/backup/data.sql[/bash]
  5. Import the data dump previously created into the empty database on the test server. Replace the all caps items with the credentials for your new test server database.
    [bash]mysql -h DBHOST -u DBUSER -pDBPASS DBNAME < /home/backup/data.sql[/bash]
  6. Next you’ll need to make some edits. In the test database, go to the core_config_data table and change the values of web/unsecure/base_url and web/secure/base_url to the test server url. E.g. http://mytestserver.us/newtestsite/. If you do not use an SSL certificate on the development servers, then the value for the unsecure and secure urls are the same. You can make the edits using phpMyAdmin. Below is example SQL for the updates.
    [sql]UPDATE core_config_data SET value="http://mytestserver.us/newtestsite/" WHERE path=’web/secure/base_url’;
    UPDATE core_config_data SET value="http://mytestserver.us/newtestsite/" WHERE path=’web/unsecure/base_url’;[/sql]
  7. Clear cache files that were copied over from the production site.
    [bash]cd /home/mytestserver/public_html/newtestsite
    rm -rf var/*[/bash]
  8. Edit the local.xml file (app/etc/local.xml). Change the database values to point to the new test database host, database name, user, and password.  If you are using a php cache such as apc, also remove or comment out the lines that use it. It is preferable not to have caching turned on in a development environment so all changes are reflected immediately.
  9. You should now be able to navigate to the new test instance’s frontend and backend.
  10. Go to the backend to make some further changes to the settings (e.g. http://mytestserver.net/newtestsite/admin/).  The login is the same as the production instance. Below are some of the items you may want to set differently for the development version of the site.
    • Turn on the store demo notice.  System > Configuration > Design > HTML Head > Display Demo Store Notice.
    • Change email addresses used.  For testing, you probably want emails to go to you or other developer, rather than the store owner.
      System > Configuration > Store Email Addresses and Sales Emails.
    • Turn off production payment methods.  For example, you may want to either disable Paypal entirely, or put it in Sandbox mode.  Likewise, you may want to turn on Check / Money Order, or other quick and easy payment method for testing order functionality.
    • Turn off SSL.
      System > Configuration > General > Web > Secure > Use Secure URLs in Frontend.
    • Turn off Google Analytics. 
      System > Configuration > Google API > Google Analytics.
    • Turn off Javascript file merging. 
      System > Configuration > Advanced > Developer > Javascript Settings.
    • Also turn off CSS file merging if it was used.
      System > Configuration > Advanced > Developer >
    • Turn off Caching. 
      System > Cache > Select All, then Disable.  Also Flush Javascript/CSS Cache.
    • Rebuild indices. 
      System > Index Management > Select all, then Rebuild.
    • You may also want to change the admin login or other accounts. 
      System > Permissions > Users.
  11. Also check your .htaccess file on the test instance to make sure that any production-only rewrite rules are removed or commented out.  Its also a good idea to password protect the directory so that only allowed users have access.  Below is an example of the code to add to your .htaccess file after you have set up the password (this is usually an option in your hosting control panel).
    [plain title=”.htaccess”] AuthName "Protected Area"
    AuthType Basic
    AuthUserFile /home/mytestserver/.htpasswds/public_html/newtestsite/passwd
    Require valid-user
    [/plain]
  12. Edit your robots.txt file to keep search engine robots away.
    [plain title=”robots.txt”] User-agent: *
    Disallow: /
    [/plain]
  13. That’s it!  You now have a copy of your production Magento store ready for development and testing.

Using USB harddrives on RaspberryPi

This is surprisingly easy.

  • Make sure your PI has enough power – at least a 2Ah or better.
  • Mount the root partition your SD card
  • Mount your USB harddrive (ext4 formatted
  • Copy the root partition of the sdcard to a ext4 formatted usb-harddrive.
  • Rebember to sync to ensure all data are flushed from cache.
mount /dev/sdxY /your/sdcard/mountfolder
mount /dev/sdxY /your/usb/mountfolder
cp -r /your/sdcard/mountfolder/* /your/usb/mountfolder
sync

On the boot partition of the sdcard copy the file cmdline.txt -> cmdline.txt.bak.

cp /boot/cmdline.txt /boot/cmdline.txt.bak

Open cmdline.txt and find where it reads

root=/dev/mmcblk0p6

Change it to

root=/dev/sda1

Save your file.

Attach your USB drive to your PI, insert your SD card and plugin power. Your PI will boot faster and you dont wear your SD card down.

Debat indlæg på videnskab.dk

Kommentar til indlæg på videnskab.dk

Artiklen handler ikke om hvorvidt Gud findes eller ikke findes, men om Gud interesserer sig for mennesker eller ikke og hvis Han interesserer sig for mennesker – hvorfor tillader hans så ondskab og ulykker.

Jeg forstår at Guds navn (forekommer 6828 gange hebr.: יהוה, JHWH) for nogle er som en rød kappe for en tyr.

Jeg forstår også at der er en hårfin grænse mellem missioneren og debat, men eftersom debatten tager sit udgangspunkt i verdens ældste religiøse bog kan det ikke undgås, at mennesker med en religiøs opfattelse henter deres argumenter fra Bibelen.

Lad mig kommentere direkte på spørgsmålet som er artiklens overskrift

Hvorfor tillader Gud ondskab og lidelser?

I artiklen henvises til det epikuræiske paradoks (3. århundrede før Kristus), den bibelske beretning om Job (1600. århundrede før Kristus), Leibniz og Voltaire (1800. århundrede efter Kristus).

Teodicé problemet opstår fordi vi forsøger at forstå Guds hensigt og Guds person set fra en menneskelig synsvinkel.

Citat fra artiklen:
„Hvordan Gud kan kaldes retfærdig, når man tager den meningsløse lidelse i
verden i betragtning, er også emnet i fortællingen om Job, der er et af
Bibelens, ja, verdenslitteraturens, hovedværker.“

I beretningen fortælles det at alle gudssønner var samlet foran Gud og blandt dem også Satan(hebr. modstander). Vi skal huske at den gudssøn der kaldes Satan er ham der ca. 2.500 år (iflg. biblens kronologi), i skikkelse af en slange (identificeres i Åbenbaringen 12:9; 20:2) havde løjet overfor Eva og forledt hende til at være ulydig mod Gud. Ved den lejlighed (i Eden) udfordrede Satan Guds ret til at afgøre hvad der var godt og ondt.

Da alle gudssønnerne nu er samlet – spørger Gud Satan om han har bemærket Job. Gud roser Job for at være retfærdig og for at være lydig mod Gud.

Men Satan håner Gud og rejser spørgsmålet om hvorvidt Job virkelig bryder sig om Gud – mon ikke det mere handler om at han har alt hvad han bryder sig om, lever et godt liv, har en dejlig kone, dejlige børn, store flokke af husdyr, masser at tjenere – i det hele taget lever et luksus liv.

Husk at det er en – om man så må sige – offentlig forsamling.

Alle hører Satan sige ‘Gud – du er jo en kylling – jeg kan ikke røre ham – men du – du tør jo ikke tage alt det fram ham. Du skal bare se – tag alt fra ham og han vil forbande dig.’

Gud tillader Satan at gøre med Job som han vil – blot må han ikke røre manden selv.

Efter 1. runde står det 1-0 til Gud, men Satan giver ikke op så let.

Så han udfordrer endnu en gang.

Alle hører igen Satan sige: ‘Gud – det går slet ikke. Vi kommer ingen vegne når du beskytter ham og jeg ikke må røre ham. – Så må du selv gøre det – gør hans liv til et mareridt og jeg siger dig – han vil forbande dig.’

Så giver Gud ham lov til at forsøge igen – men alligevel med den begrænsning at han ikke må tage hans liv.

Og så bliver det slemt for Job – læs selv beretningen.

Så Satan har rejst 2 spørgsmål
1. Gud har ikke retten til at være Gud, Konge og Hersker over mennesker (Edens have).
2. Mennesker adlyder kun Gud fordi de får noget for det (Beretningen om Job)

Men var blev resultatet – 2-0 til Gud.

Gud har ligeledes et andet tidsperspektiv.

I Bibelen – Salme 90 vers 4 „For tusind år er i dine øjne som dagen i går, når den er forbi, og som en nattevagt.

Så for Gud er der (iflg. biblens kronologi) ‘kun’ gået knap en uge!

Vi mennesker står faktisk i samme situation som Job.

Satan plager menneskeheden med alle mulige prøvelser for at få dem til at forbande Gud.

Artikel på videnskab.dk

Bogen der forbød andre bøger

Index Librorum Prohibitorum
(dansk: Liste over Forbudte Bøger).

Dette Index ville i dag være en overtrædelse af Menneskerettighedskonventionen artikel 9 og 10.

Begrebet menneskerettigheder var dog ikke på den katolske kirkes dagsorden i det 15. århundrede men der var stor begejstring for trykketeknikken da den blev opfundet.

Nogle kaldte den ligefrem for “en guddommelig kunst”. Begejstring kølnedes dog noget da kirken opdagede at den også kunne bruges til at udbrede tanker og ideer der stred mod katolicismen.

I det 15. århundrede indførtes i flere europæiske bispedømmer nogle begrænsninger, blandt andet ‘imprimatur’ (latin: ‘må trykkes’) og dette viste at bog var godkendt til offentliggørelse.

Kirken ønskede sig en liste over forbudte bøger gældende for alle katolikker.

  • 1555 Gian Pietro Carafa udnævnes til pave Paul IV og hans første befaling var at en kommission skulle udarbejde en liste over forbudte bøger.
  • 1559 Index trykkes for første gang og dette Index var gældene for alle katolikkaer.

Det indeholdt 3 kategorier:

  1. Navne på forfattere det var forbudt at læse – uanset hvad de skrev om.
  2. Titler på forbudte bøger skrevet af forfattere hvis øvrige værker var tilladt at læse.
  3. Liste over anonyme værker

Det omfattede også forfattere som ikke skrev om religiøse emner. Et tillæg til Indexet anførte oversættelser af Bibelen og pointerede at alle oversættelser til modersmål var forbudt.

Gigliola Fragnito, historielærer ved Parmas universitet i Italien har sagt at “disse forholdsregler, der omfattede alle katolikker, var kirkens første officielle forbud mod at rykke, læse og eje Den Hellige Skrift på modersmålet”.

  • 1564 blev der på grund af stor modstand mod Indexet, efter Tridentinerkoncilet, udarbejdet en revideret udgave.
  • 1571 oprettede man Indexkongregationen, der skulle revidere udgaven fra 1564.

På grund interne magtkampe blev revision stærkt forsinket. Både Inkvisitionskongregationen, Indexkongregationen og den pavelige hof-teolog skulle afgøre hvilke værker der skulle forbydes men ansvarsopgaverne overlappede hinanden og der var uenighed om hvorvidt det var biskopperne eller inkvisitorerne der skulle have mest at sige.

  • 1596 (marts) godkendte pave Clemens VIII et nyt Index men udgivelsen blev blokeret af Inkvisitionskongregationen indtil der indførtes et kategorisk forbud mod al bibellæsning på modersmålet.

Index Librorum Prohibitorum fik, med denne udgave, stort set sin endelige form. Som tiden er gået, er det dog blevet ajourført.

Protestanterne mere eller mindre samme holdning til censur som katolikkerne og nogle protestanter, som fandt deres værker opført i Index, betragtede Index som “det bedste sted at finde frem til den mest eftertragtelsesværdige litteratur”.

Når en værk blev forbudt anbragtes den på et særligt aflåst sted kaldet “inferno”. Denne opbevaring har betydet at nogle værker har overlevet og findes i dag.

  • 1917 Indexkongregationen blev opløst
  • 1966 Index “med sin censur har ikke længere haft gyldighed som kirkelov”.

Historien om Index har vist at den bog som især vakte bekymring hos de kirkelige myndigheder, var Bibelen på modersmålet.

En specialist i Index, Jesús Martinez de Bujanda, forklarer at i det 16. århundrede var “cirka 210 oversættelser af hele Bibelen eller Det Ny Testamente” opført i Index. I 1500-tallet var italienerne kendt som ivrige bibellæsere men fortegnelsen ændrede italiernes holdning til Guds ord.

„Forbudt og fjernet som en kilde til kætteri, endte det med at italienerne forvekslede Den Hellige Skrift med kætterske skrifter,“ siger Fragnito, og tilføjer: „Vejen til frelse for katolikker i Sydeuropa gik gennem katekismus … Man foretrak en befolkning der religiøst set befandt sig på børnestadiet, fremfor en befolkning der bestod af religiøst modne mennesker.“

  • 1757 Benedikt XIV gjorde det ‘lovligt’ at læse ‘godkendte’ oversættelser af Bibelen til modersmålet.
  • 1958 Der skulle gå næsten 200 år før italienerne fik den første komplette bibel baseret på oversættelse direkte fra grundsprogene.

Siden da er Bibelen blevet udbredt overalt.

På titelbladet for New World Translation of the Holy Scriptures rev. 2013 (ikke udkommet på dansk) oplyses det at oversættelsens samlede udgivelse nu er oppe på 208.366.928. Det kan tilføjes at det hele eller dele af den er trykt på over 120 sprog (http://www.jw.org/da/publikationer/bibelen/)

  • jw.org findes bibelsk litteratur på 793 sprog (2016-02-14) herunder 84 tegnsprog.
  • wol.jw.org findes et fyldigt studie-bibliotek på 233 sprog (2016-02-14)
Kildehenvisning:

Thecus: idc vga pinout

Details

THECUS NAS N2200xxx

-------------------------------------------------------------------
|     | PIN | PIN | PIN | PIN | PIN | PIN | PIN | PIN | PIN | PIN |
-------------------------------------------------------------------
| VGA |  /  |  15 |  6  |  7  |  1  |  12 |  2  |  14 |  3  |  13 |
-------------------------------------------------------------------
| IDC |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  10 |
-------------------------------------------------------------------
idc-vga-pinout
Modtaget fre thecus tech support

Linux: cifs share in fstab

Mount cifs share in fstab

Install cifs-utils (even if you already have Samba and related packages installed):

sudo pacman install cifs-utils

Edit /etc/fstab and add your entry:

//server/share /pathto/mountpoint cifs credentials=/etc/samba/.smbcredentials 0 0

Create the .smbcredentials file in /etc/samba:

$ sudo touch /etc/samba/.smbcredentials
$ sudo nano /etc/samba/.smbcredentials


username=shareuser
password=sharepassword
domain=domain_or_workgroupname

Make sure you secure your /etc/samba/.smbcredentials file:

sudo chmod 0400 /etc/samba/.smbcredentials

Finally, test the mount with:

sudo mount -a

Linux: XDMCP summary

XDMCP

locally – and locally only

Installer XDM

Archlinux

# pacman -S xorg-xdm

Ubuntu

# apt-get install xdm

When installing select xdm as default login manager

Edit as root

# nano /etc/X11/xdm/Xaccess
## remove remark (#) from the line reading
#*        #any host can get a login window

# nano /etc/X11/xdm/Xservers
##add remark (#) for the line - probably last - reading
:0 local ..(rest omitted)

# nano /etc/X11/xdm/xdm-config
## add remark (!) for the line - probably last - reading
DisplayManager.requestPort:    0

Raspberry Pi: resources

Resources

Raspberry Pi

http://www.raspberrypi.org/documentation/configuration/device-tree.md

http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=97314

https://github.com/Hexxeh/rpi-firmware/tree/master/overlays

ArchLinux

http://archlinuxarm.org/platforms/armv6/raspberry-pi

http://archpi.dabase.com/

https://wiki.archlinux.org/index.php/Raspberry_Pi

http://elinux.org/ArchLinux_Install_Guide

http://docs.rpi-dashboard.com/system_configuration/enable_spi.html
http://www.raspberrypi.org/tag/arch-linux/

http://docs.rpi-dashboard.com/build_from_source/build_on_arch_linux.html

Raspberry Pi: status

How are you today?

#!/bin/bash                                                               
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi
do
    echo -e "$src:\t$(vcgencmd measure_clock $src)"
done                                  
for id in core sdram_c sdram_i sdram_p
do
    echo -e "$id:\t$(vcgencmd measure_volts $id)"
done
vcgencmd codec_enabled MPG2
vcgencmd codec_enabled WVC1