Duvien - Design | Develop | Host | Drupal | WordPress | Ecommerce | Themes | Photography | Music | Digital playground | Scotland | UK http://duvien.com/rss.xml en Protect your PC, Mac and mobile devices from virus, adware, spyware and malware. http://duvien.com/blog/protect-your-pc-mac-and-mobile-devices-virus-adware-spyware-and-malware <span class="field field--name-title field--type-string field--label-hidden">Protect your PC, Mac and mobile devices from virus, adware, spyware and malware.</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/avast.jpg?itok=xMiXKSGR" width="950" height="431" alt="Avast!" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/about" lang="" about="/about" typeof="schema:Person" property="schema:name" datatype="" class="username">duvien</a></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 12/07/2016 - 00:47</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Antivirus and anti malware software doesn't have to cost a penny and still does a great job. So there's no excuse why you are not running a software to protect your machine or device.</p> <blockquote> <h3>What is Antivirus and anti malware software?</h3> <p>It is<span> a program or set of programs that are designed to prevent, search for, detect, and remove software viruses, and other malicious software like worms, trojans, adware, rootkit and more.</span></p> </blockquote> <p>I've gone through a few pieces of sotfware and the one i've ended up using for the past year is <strong><a href="https://www.avast.com">Avast!</a></strong> on my Macbook Pro.It protects you against viruses and email spams.</p> <p>Once the software is installed you'll see a small icon in the top bar which allows you to open up the dashboard to configure your settings or check reports. I highly recommend you turn on everything (file system, email, web shieids) to activaly scan in the background. If you don't see the shields, click on preferences in the <a href="https://www.avast.com">Avast!</a> dashboard. This will ensure when any files downloaded or retrieved will be automatically scan before it lets you access it.</p> <img alt="Avasti dashboard" data-entity-type="file" data-entity-uuid="43fcb86f-5491-43ea-a443-51754e524f54" src="/sites/default/files/inline-images/avast1.png" class="align-center" /><p><br /> You will need to register your product for auto updates, again highly recommended to keep your virus definition lists up to date. This is a dat file to checks against for any known viruses.</p> <p>It uses popup notifications so each time it finds an infected file or new virus update list, you will get a popup noitfication message appear on your desktop.</p> <p>It also provides an option to install a plugin for Firefox or Chrome web browsers. You should install this plugin, it protects you from malware sites and also warns you of any malicious sites on search result pages so you can make an informed choice to visit or not.  </p> <p>Another thing i normally do it scan my Macbook once a week. Avast!, offers a tool to do a full scan or select a specific directory to scan. You can even manually scan files and compressed files.</p> <p>Some virus software will fasely report a certain file as a virus. I've not had this experience with <a href="https://www.avast.com">Avast!</a>. Nornally, when it detects a virus, the virus gets quarantined. This is standard in every virus software. Why do virus software do this? in case of a false positive. Some files are not virus and occassionally it made make mistakes so because it was quarantined, at least you have the options to retrieve the files again as oppose to if the software had completely deleted it. Virus are harmless unless you execute it or some program is ran to access and execute the virus infect your computer.</p> <p>It does email scans for <span>adware amd </span>malware attachments in emails retreive from Mac mail. It doesn't scan for spam emails but this is something you need to protect on your mail server or thru an email service.</p> <p><a href="https://www.avast.com">Avast!</a> offers a VPN service but i have no idea how good it is because i use <a href="https://billing.purevpn.com/aff.php?aff=25070">PureVPN</a> and that is good enough for me.</p> <p>So there you go, you are protect from the surfing the web, email communications and file downloads.</p> <p> </p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/virus" typeof="schema:Thing"> <a href="/tag/virus"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">virus</div> </a> <span property="schema:name" content="virus" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/spam" typeof="schema:Thing"> <a href="/tag/spam"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">spam</div> </a> <span property="schema:name" content="spam" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/spyware" typeof="schema:Thing"> <a href="/tag/spyware"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">spyware</div> </a> <span property="schema:name" content="spyware" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/malware" typeof="schema:Thing"> <a href="/tag/malware"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">malware</div> </a> <span property="schema:name" content="malware" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/antivirus" typeof="schema:Thing"> <a href="/tag/antivirus"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">antivirus</div> </a> <span property="schema:name" content="antivirus" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=169&amp;2=comment&amp;3=comment" token="11264327"></drupal-render-placeholder> </section> Mon, 11 Jul 2016 23:47:36 +0000 duvien 169 at http://duvien.com http://duvien.com/blog/protect-your-pc-mac-and-mobile-devices-virus-adware-spyware-and-malware#comments What can you do with a Raspberry Pi 3? http://duvien.com/blog/what-can-you-do-raspberry-pi-3 <span class="field field--name-title field--type-string field--label-hidden">What can you do with a Raspberry Pi 3?</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/rpi3_1.jpg?itok=zlUIUZev" width="950" height="436" alt="Raspberry Pi 3" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/about" lang="" about="/about" typeof="schema:Person" property="schema:name" datatype="" class="username">duvien</a></span> <span class="field field--name-created field--type-created field--label-hidden">Sun, 10/07/2016 - 01:46</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>I love retro games so i bought a Raspberry Pi 3 to run <a href="https://retropie.org.uk/">Retropie</a>, then later switched to <a href="http://www.recalbox.com/">Recalbox</a> because it has an awesome feature called 'rewind' that lets you to turn back time in games.</p> <p>But there is so much more to Raspberry Pi than just building a retro gaming machine. Here are some other cool and fun projects i have tried out (for educational purposes) and they are all quite easy to install since they most of them comes as a disk image you can write to a mirco SD card and boot it up.</p> <p>First of all, in case you have never heard of Raspberry Pi (shame on you):</p> <blockquote> <p>The <strong>Raspberry Pi</strong> is a series of <a href="https://en.wikipedia.org/wiki/Credit_card">credit card</a>-sized <a href="https://en.wikipedia.org/wiki/Single-board_computer">single-board computers</a> developed in the <a href="https://en.wikipedia.org/wiki/United_Kingdom">United Kingdom</a> by the <a href="https://en.wikipedia.org/wiki/Raspberry_Pi_Foundation">Raspberry Pi Foundation</a> with the intent to promote the teaching of basic <a href="https://en.wikipedia.org/wiki/Computer_science">computer science</a> in schools and <a href="https://en.wikipedia.org/wiki/Developing_countries">developing countries</a>.<a href="https://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-3">[3]</a><a href="https://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-4">[4]</a><a href="https://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-5">[5]</a> The original Raspberry Pi and Raspberry Pi 2 are manufactured in several board configurations through licensed manufacturing agreements with <a href="https://en.wikipedia.org/wiki/Newark_element14">Newark element14</a> (<a href="https://en.wikipedia.org/wiki/Premier_Farnell">Premier Farnell</a>), <a href="https://en.wikipedia.org/wiki/RS_Components">RS Components</a> and Egoman.<a href="https://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-6">[6]</a> The hardware is the same across all manufacturers. The firmware is <a href="https://en.wikipedia.org/wiki/Closed-source">closed-source</a>.<a href="https://en.wikipedia.org/wiki/Raspberry_Pi#cite_note-haiku-7">[7]</a></p> <p><a href="https://en.wikipedia.org/wiki/Raspberry_Pi">Wikipedia</a></p> </blockquote> <p><strong>Raspberry Pi 3 (Model B) spec:</strong></p> <p>The Raspberry Pi 3 is the third generation Raspberry Pi. It replaced the Raspberry Pi 2 Model B in February 2016:</p> <ul><li>A 1.2GHz 64-bit quad-core ARMv8 CPU</li> <li>802.11n Wireless LAN</li> <li>Bluetooth 4.1</li> <li>Bluetooth Low Energy (BLE)</li> </ul><p>Like the Pi 2, it also has:</p> <ul><li>1GB RAM</li> <li>4 USB ports</li> <li>40 GPIO pins</li> <li>Full HDMI port</li> <li>Ethernet port</li> <li>Combined 3.5mm audio jack and composite video</li> <li>Camera interface (CSI)</li> <li>Display interface (DSI)</li> <li>Micro SD card slot (now push-pull rather than push-push)</li> <li>VideoCore IV 3D graphics core</li> </ul><p>All this for only $35 USD, what a bargain!</p> <p>There are 100s of DIY projects out in the wild but the popular ones are:</p> <ul><li><span>Open Embedded Linux Entertainment Center, or <a href="http://openelec.tv/"><em>OpenELEC</em></a> for short, is a small Linux distribution built for running a complete media center. It uses a media center called Kodi There is another one called <a href="https://libreelec.tv/">LibreELEC</a>.</span></li> <li><span>Another Open source alternative media center, <a href="https://osmc.tv/">OSMC</a>.</span></li> <li><span>S</span>tandalone <a href="http://www.pimusicbox.com/">streaming music player</a> for Spotify, Google Music, SoundCloud, Webradio, Podcasts and other music from the cloud.</li> <li>Build a <span>Network Attached Storage (</span>NAS) with <a href="https://sourceforge.net/projects/openmediavault/files/Raspberry%20Pi%20images/">OpenMediaVault</a>, a fully-fledged file server to save your family photos, music and videos to a connected HDD, ready to share across your home network.</li> <li><span><a href="https://retropie.org.uk/">RetroPie</a> allows you to turn your Raspberry Pi into a retro-gaming machine.</span></li> <li><span><a href="http://recalbox.com/">Recalbox</a>, Another retro gaming machine with a few more nice features than Retropie.</span></li> <li><a href="https://ubuntu-mate.org/raspberry-pi/">Ubuntu Mate</a>, a popular linux distribution.</li> <li>Google will be releasing <a href="https://android.googlesource.com/device/pifoundation/rpi3/">Android</a> for RPi3 though at the moment, the Github project is empty. But if you can't wait, someone has already ported an <a href="http://geektillithertz.com/wordpress/index.php/2016/04/09/raspberry-pi-3-android-6-0-marshmallow-download/">unoffical version</a> of Android 6 (usable but still rough around the edges). Can't wait to run Android TV soon...</li> <li>Run a <a href="http://raspberrywebserver.com/">web server</a> on a Raspberry Pi</li> <li>Run your own pocket size Dropbox alternative called <a href="http://projpi.com/diy-home-projects-with-a-raspberry-pi/pi-owncloud-drop-box-clone/">OwnCloud 9</a> for storing and sharing files.</li> <li>Raspberry Pi <a href="https://www.pi-point.co.uk/">Access point</a>. Great if you want to extend your Wifi connection or WiFi HotSpot. You could even install an <a href="http://raspberrypihelp.net/raspberry-pi-openvpn-server-tutorial/">OpenVPN server</a> and use access point as your Virtual Private Network connection.</li> <li>Browse anonymously anywhere you go with the <a href="https://learn.adafruit.com/onion-pi/overview">Onion Pi Tor proxy</a>.</li> <li>Run and play <a href="https://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/">Minecraft</a> on Raspberry Pi.</li> <li><a href="https://www.realvnc.com/docs/raspberry-pi.html">VNC server</a> for remote desktop access.</li> </ul><p>This is just a very small selection of projects. There are other really cool projects to make your home smarter using <a href="https://en.wikipedia.org/wiki/Internet_of_things">IoT</a> but you need the addons for Raspberry Pi. Take a look at some of the DIY project created using <a href="https://microsoft.hackster.io/en-US">Window IoT</a> for Raspberry Pi.</p> <p>What other popular DIY project do you know of? i'll be interested to learn and try them out.</p> <p> </p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/raspberry-pi" typeof="schema:Thing"> <a href="/tag/raspberry-pi"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Raspberry Pi</div> </a> <span property="schema:name" content="Raspberry Pi" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=168&amp;2=comment&amp;3=comment" token="b01fc7c9"></drupal-render-placeholder> </section> Sun, 10 Jul 2016 00:46:57 +0000 duvien 168 at http://duvien.com http://duvien.com/blog/what-can-you-do-raspberry-pi-3#comments Drupal 7.50 with support for full UTF-8 http://duvien.com/blog/drupal-750-support-full-utf-8 <span class="field field--name-title field--type-string field--label-hidden">Drupal 7.50 with support for full UTF-8</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/750.png?itok=t2iIShiT" width="950" height="442" alt="Drupal 7.50 Support for full UTF-8" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/about" lang="" about="/about" typeof="schema:Person" property="schema:name" datatype="" class="username">duvien</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 08/07/2016 - 20:19</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>This is quite a significant release so there is a version jump from Drupal 7.44 --&gt; 7.50. It introduces a few new features and bugfixes.</p> <p>The few new features in Drupal 7.50 are:</p> <ul><li>New "administer fields" permission added for trusted users</li> <li>Protection against clickjacking enabled by default</li> <li>Support for full UTF-8 (emojis, Asian symbols, mathematical symbols) is now possible on MySQL</li> <li>Improved support for PHP 7</li> </ul><p>You can read it at: <a href="https://www.drupal.org/blog/drupal-7-50">https://www.drupal.org/blog/drupal-7-50</a></p> <p>I'm not a big fan of emojis, in fact i find them quite annoying. But i do like to stay current and on top of things with my own and clients' Drupal sites.</p> <p>In this article, i want to cover the support for full UTF-8 that allows for emojis, Asian symbols and mathematical symbols to be inlcuded in your content because updating to Drupal 7.50 isn't enough, you still need to convert your DB char set to utf8mb4.</p> <p>Note: utf8mb4 is only supported on MySQL 5.5.3 or higher and MariaDB 5.5 or higher.</p> <h3>How do we do this?</h3> <p>Before you begin, you need <a href="http://www.drush.org/en/master/">Drush</a> installed on your server. I'm using Drush 8.0.x version and MariaDB 10.0.26. For those that do not have Drush, you can try this <a href="http://stackoverflow.com/questions/6115612/how-to-convert-an-entire-mysql-database-characterset-and-collation-to-utf-8">solution found on StackOverflow</a>.</p> <p>These steps below will takes you through the process of updating a single Drupal DB to add support for full UTF-8. You will need to repeat these steps for every drupal installation.</p> <ol><li>Back up your database and files (and perform this process in a test environment before on your production site if at all possible).</li> <li>Prepare MySQL by making sure the following three settings are in <code>my.cnf</code> (then restart MySQL): <pre> <code>[mysqld] innodb_large_prefix=true innodb_file_format=barracuda innodb_file_per_table=true</code></pre> <br /> If you are using CentOS 7.x, my.cnf is located at /etc/my.cnf<br /><br /> Note: if you have this line in your my.cnf: default-storage-engine=MyISAM<br /> you should uncomment it out.</li> <li>Install the drush command to convert your site's databases: <pre> <code>drush @none dl utf8mb4_convert-7.x</code></pre> </li> <li> <p>Upgrade your Drupal codebase to version 7.50 (download link: <a href="https://ftp.drupal.org/files/projects/drupal-7.50.tar.gz">Drupal 7.50</a>)</p> </li> <li> <p>You might run into this issue if you have not been cleanly uninstalling your modules causing some redunant entries left in the DB tables. The error msg you get might be something like this:<br />  </p> <pre> <code>file system: addtihs. In order to fix this, put the module back in its original location. For more information see the documentation page. in _drupal_trigger_error_with_delayed_loggin()(line 1128 of /var/www/drupal/includes/bootstrap.inc) </code></pre> <p>To fix this, run this command below (remember to replace module_name with the name of the module you want to remove. Do this for each module you want to remove):</p> <pre> <code>drush sql-query "DELETE from system where name='module_name' AND type = 'module';"</code></pre> See: <a href="https://www.drupal.org/node/2487215">https://www.drupal.org/node/2487215</a> for more details regardng above issue.</li> <li> <p>Add charset and collation settings in your site /sites/default/settings.php file:</p> <pre> <code>$databases['default']['default'] = array( 'database' =&gt; 'databasename', ... 'charset' =&gt; 'utf8mb4', 'collation' =&gt; 'utf8mb4_general_ci', );</code></pre> </li> <li> <p>Navigate to your drupal installation webroot directory and run this command:</p> <pre> <code>drush utf8mb4-convert-databases</code></pre> </li> </ol><p>If all goes well, Drush will start converting all the Drupal 7 DB tables:</p> <img alt="drush convert db tables to full utf-8" data-entity-type="file" data-entity-uuid="a0d3691a-677e-46bb-bd89-6f532853adee" src="/sites/default/files/inline-images/convert-db.png" class="align-center" /><p>Now you can test by adding Emoji (👍🏼). Create a page and copy this smiling pile of poo: 💩 into your content page 😀. If you don't like 💩, try others emoji at: <a href="http://getemoji.com/">http://getemoji.com/</a></p> <p>Good news, if you are running <strong>Drupal 8</strong>, you don't need to go through this process 😎</p> <p>Big thanks to <a href="http://www.jeffgeerling.com/">Jeff Geerling</a>. This article was made possible from his <a href="http://www.jeffgeerling.com/blog/2016/getting-emoji-and-multibyte-characters-on-your-drupal-7-site-750">tutorial</a>. I recommend you check out his other articles as well, a lot of useful stuff on his blog.</p> <p> </p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/drupal" typeof="schema:Thing"> <a href="/tag/drupal"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Drupal</div> </a> <span property="schema:name" content="Drupal" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/drupal-7" typeof="schema:Thing"> <a href="/tag/drupal-7"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Drupal 7</div> </a> <span property="schema:name" content="Drupal 7" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/mysql" typeof="schema:Thing"> <a href="/tag/mysql"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">mysql</div> </a> <span property="schema:name" content="mysql" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/drush" typeof="schema:Thing"> <a href="/tag/drush"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Drush</div> </a> <span property="schema:name" content="Drush" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/howto" typeof="schema:Thing"> <a href="/tag/howto"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">HowTos</div> </a> <span property="schema:name" content="HowTos" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=167&amp;2=comment&amp;3=comment" token="68ca6176"></drupal-render-placeholder> </section> Fri, 08 Jul 2016 19:19:57 +0000 duvien 167 at http://duvien.com http://duvien.com/blog/drupal-750-support-full-utf-8#comments Setting up a VPN client using Asus RT-AC68U router modem http://duvien.com/blog/setting-vpn-client-using-asus-rt-ac68u-router-modem <span class="field field--name-title field--type-string field--label-hidden">Setting up a VPN client using Asus RT-AC68U router modem</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/vpn.png?itok=GUhG34D8" width="950" height="371" alt="VPN" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Thu, 07/07/2016 - 16:21</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>What is a VPN?</p> <blockquote> <p>A <strong>virtual private network</strong> also known as a (<strong>VPN</strong>) is a <a href="https://en.wikipedia.org/wiki/Private_network">private network</a> that extends across a public network or <a href="https://en.wikipedia.org/wiki/Internet_%28disambiguation%29">internet</a>. It enables users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network.</p> <p>VPNs can provide functionality, security and/or network management benefits to the user.<a href="https://en.wikipedia.org/wiki/Virtual_private_network#cite_note-1">[1]</a> But they can also lead to new issues, and some VPN services, especially "free" ones, can actually violate their users' privacy by logging their usage and making it available without their consent, or make money by selling the user's bandwidth to other users.<a href="https://en.wikipedia.org/wiki/Virtual_private_network#cite_note-2">[2]</a></p> <p>Some VPNs allow employees to securely access a corporate <a href="https://en.wikipedia.org/wiki/Intranet">intranet</a> while located outside the office. Some can securely connect geographically separated offices of an organization, creating one cohesive network. Individual Internet users can use some VPNs to secure their <a href="https://en.wikipedia.org/wiki/Wireless">wireless</a> transactions, to circumvent geo-restrictions and censorship, and/or to connect to <a href="https://en.wikipedia.org/wiki/Proxy_server">proxy servers</a> for the purpose of protecting personal identity and location. But some Internet sites block access via known VPNs to prevent the circumvention of their geo-restrictions.</p> <p><a href="https://en.wikipedia.org/wiki/Virtual_private_network">Wikipedia</a></p> </blockquote> <p>One of the popular uses of VPN is to <span>circumvent regional restrictions (known as <a href="http://www.pcworld.com/article/260236/tunnelbear_vpn_circumvents_geoblocking.html">geoblocking</a>) on certain websites or online TV channels.</span> People use VPN for many reasons, from <span>Journalists and political dissidents to get around state blocked websites to users who just want to access local websites aboard (ie, UK resident who wants to watch bbc.co.uk online outside of their own country while on holiday).  </span></p> <p>In my case, it was a friend that approach me asking how his parent can watch Chinese channels on YouKu outside of China on their Android box because after 6 months it stopped working and the box was restricted. They tried contacting the supplier but to no avail so it was time to find another solution. </p> <p>I've never setup a VPN before so was up for a good challenge. At first, it was easy enough to install a VPN client on  a PC machine and it would pretty much do everything for you with a couple of clicks. The problem is that, the Android box is not a computer but a device for streaming TV channels so how can you simply install a VPN client? it runs Android so that was easy enough to root it with the right tools, which is what i did and then download a VPN client android app like <a href="http://apk-dl.com/openvpn-for-android">OpenVPN</a> (you cannot use GooglePlay since this only allows installation via web browser or device, something that was not available on the Android box).</p> <p>Furthermore, what if they had more than one device they want to use but that device does not or cannot install a standalone VPN client. This means you just need to connect any device to the Asus router like a hotspot to access VPN.</p> <p>Once OpenVPN.apk was installed i headed over to <a href="https://billing.purevpn.com/aff.php?aff=25070">PureVPN</a> to purchase an account. You need a service that provides access to VPN servers to connect to and use.</p> <p>I wouldn't go into details how to root and install the apk on the Android box because this article is about getting a router to work for VPN.</p> <p>This worked well but temporary. After a day, the restriction came back on the Android box, which meant you cannot do anything (ie, access the apps). It was something to do with the DNS settings and also it was annoying because each time the box was powered off and turned back on, you had to reconfigure the VPN client to connect again.</p> <p>So the only option was to use a router and route any device that wanted to use the VPN connection.</p> <p>We didn't want to use the main modem for the VPN since they still wanted to browse the internet as normal. So a second router what preferred for this setup.</p> <p>Initially, i was really interested in using a Raspberry Pi as an access point and VPN since i have a Pi 3 sitting around and it was going to be fun learning but I quickly ruled that out on the basis that if the Pi starts to play up, i would have to sort out the issue. Not something i was particularly keen on as they lived quite far from me. </p> <p>Eventually, we found a cheap (and had a built-in VPN client) router device on Ebay. It is an <strong>Asus RT-AC68U</strong> but for this guide, you can use any of the following model: <strong>Asus RT-N16, Asus RT-N18U, Asus RT-N66U, Asus RT-AC66U and Asus RT-AC87U</strong>.</p> <p>Don't forget you need a VPN service, i recommend signing up with <a href="https://billing.purevpn.com/aff.php?aff=25070">PureVPN</a>, their service has been cheap, reliable and the speed is surprisingly good as well as great support. Another great thing is that they do not <span class="st">monitor user activity nor do we <em>keep</em> any <em>logs so</em> have no record of your activities.</span></p> <p>Okay, let's get straight to setup the Asus router modem.</p> <p>The DSL modem is main one plugged into telephone line to ISP (Internet Service Provider), it has a 4 port LAN (Local Area Network) connection and the Asus router that is to be used for VPN is connected to the DSL modem from its own modem/DSL port to the DSL LAN port. See diagram image:</p> <img alt="LAN to DSL" data-entity-type="file" data-entity-uuid="05b1ecb1-7ded-446c-94c1-c6cc806f820e" src="/sites/default/files/inline-images/2routersetup1.png" class="align-center" /><p><em>Image taken from <a href="https://support.hidemyass.com/hc/en-us/articles/203712283-How-to-connect-two-routers-">Hidemyass</a></em></p> <img alt="Asus" data-entity-type="file" data-entity-uuid="b726e326-dbe0-48c9-b984-ce976a0fd7b8" src="/sites/default/files/inline-images/DSCF7924_0.jpg" class="align-center" /><p> </p> <p>The standard DSL modem already has an IP address of <strong>192.168.1.1</strong> so we want to make the router running VPN on a different subnet (networks) to avoid IP address conflict. So we will assign <strong>192.168.2.1</strong> for the router.</p> <p>Let's login to the Asus router via web browser. I hooked up my macbook with Asus router via LAN. Consult your manual on how to login as admin. Do not connect your DSL modem with Asus router yet, we'll do that later.</p> <p>Here is what we will do:</p> <img alt="Asus Setup" data-entity-type="file" data-entity-uuid="e36139f3-78ea-4e9d-a984-fcc1e8db2196" src="/sites/default/files/inline-images/1setup_0.png" class="align-center" /><p> </p> <p>1. Use 'Wireless router mode' and setup your wireless connection. Consult your manual on how to add SSID (wireless name) and WPA password.</p> <p>2. Setup your LAN IP, give it <strong>192.168.2.1</strong> and leave subnet as 255.255.255.0, see image below:</p> <img alt="Asus LAN" data-entity-type="file" data-entity-uuid="9cabe75c-75ec-472c-bf75-6c12e76f0d08" src="/sites/default/files/inline-images/2lan.png" class="align-center" /><p>Now you can connect Asus router to your DSL modem via LAN port. Reboot Asus router. View the 'Network Map', you should see that it has connected to the Internet. If you have gotten this far, you can safely connect via wireless</p> <p>3. Now we can configure the VPN client. Click on VPN under advanced settings and then the VPN client tab. Click on add profile and you should see something like this:</p> <img alt="VPN client" data-entity-type="file" data-entity-uuid="030ad4e3-2c8e-45c6-98f5-e1ebd0ee1b81" src="/sites/default/files/inline-images/vpn-client.png" class="align-center" /><p> </p> <p>If you you have an account with <a href="https://billing.purevpn.com/aff.php?aff=25070">PureVPN</a> you can do the following (other providers are more or less the same):</p> <ul><li>Description: PureVPN, PureVPN US, PureVPN UK etc (Anything you like)</li> <li>VPN Server: Insert any server, <a href="https://support.purevpn.com/pptpl2tp-manual-setup-hostname-list">click here</a> to get the server list</li> <li>Username: Insert Username provided by PureVPN</li> <li>Password: Insert Password provided by PureVPN</li> <li>PPTP Options: Auto (For Streaming purpose select None)</li> <li>Click OK</li> </ul><p>Then, click on activate button. If all goes well, you should see a blue circle tick under connection status column meaning you have successfully connected to a VPN server.</p> <p>Now back to your Android box, configure the network settings to auto pick up the network. If you are connecting via LAN, you will need a CAT5 cable. Use ethernet connection settings and let it auto acquire IP and network. If wireless, again use wireless settings and connect to your SSID name you setup (wireless name), let it auto acquire IP and network.</p> <p>I also setup remote login for admin via web interface. This is so i can remote access to the Asus router if there were any issues with VPN connection. I don't particular recommend to enable this feature if you manage your router from within your home only.</p> <p>Furthermore, it would be a waste just to use a VPN service for the home. With <a href="https://billing.purevpn.com/aff.php?aff=25070">PureVPN</a>, it allows up to 5 simultaneous connections so you can take advantage of using if you are on holiday or in public places. Simply download and install the <a href="https://www.purevpn.com/download.php">VPN client</a> (for Mac or Windows) on your machine, , or even any mobile devices. Enter your user and password provide by PureVPN and find a country to connect to, and you are good to go. Plain and simple...</p> <p> </p> </div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/vpn" typeof="schema:Thing"> <a href="/tag/vpn"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">vpn</div> </a> <span property="schema:name" content="vpn" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/router" typeof="schema:Thing"> <a href="/tag/router"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">router</div> </a> <span property="schema:name" content="router" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/asus" typeof="schema:Thing"> <a href="/tag/asus"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Asus</div> </a> <span property="schema:name" content="Asus" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/howto" typeof="schema:Thing"> <a href="/tag/howto"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">HowTos</div> </a> <span property="schema:name" content="HowTos" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=165&amp;2=comment&amp;3=comment" token="f1c86eeb"></drupal-render-placeholder> </section> Thu, 07 Jul 2016 15:21:17 +0000 admin 165 at http://duvien.com http://duvien.com/blog/setting-vpn-client-using-asus-rt-ac68u-router-modem#comments Installing Memcache on CentOS 7 http://duvien.com/blog/installing-memcache-centos-7 <span class="field field--name-title field--type-string field--label-hidden">Installing Memcache on CentOS 7</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/memcached.png?itok=WP4Ah6RC" width="950" height="337" alt="pecl memcached" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/about" lang="" about="/about" typeof="schema:Person" property="schema:name" datatype="" class="username">duvien</a></span> <span class="field field--name-created field--type-created field--label-hidden">Thu, 30/06/2016 - 18:33</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>What is Memcache? It is a free &amp; open source, high-performance, distributed memory object caching system.</p> <p>Let's get started</p> <p>First install nc:</p> <pre> <code>sudo yum update &amp;&amp; install nc</code></pre> <p>Next, we need to install Pecl memcache beta version because this is version 3.0.8 (which is required by the Drupal module). Otherwise, it we install the stable version and we will get version 2.2.7 instead.</p> <pre> <code>pecl install memcache-beta</code></pre> <p>Wait for it to complete compiling. You don’t need to add memcached.so to php.ini file, it should do this for you.</p> <p>Now, we need to configure it, enter:</p> <pre> <code>sudo nano /etc/sysconfig/memcached</code></pre> <p>Update it as follow:</p> <pre> <code>PORT="11211" USER="memcached" # max connection 2048 MAXCONN="2048" # set ram size to 2048 - 2GiB CACHESIZE="4096" # listen to loopback ip 127.0.0.1, for network connection use real ip e.g., 10.0.0.4 OPTIONS="-l 127.0.0.1"</code></pre> <p>The above will starts memcached up as a daemon, using 4GB of memory, and listening on IP 127.0.0.1, port 11211. Save and close the file.</p> <p>Type the following command to start memcached, enter:</p> <pre> <code>chkconfig memcached on service memcached start</code></pre> <p>To stop / restart use the following commands:</p> <pre> <code>service memcached stop service memcached restart</code></pre> <p>To dee the memcached stat, type the following command:</p> <pre> <code>memcached-tool 127.0.0.1:11211 stats</code></pre> <p>If fail to connect to 127.0.0.1 11211, check this: <a href="http://serverfault.com/questions/669636/why-is-memcache-not-starting-automatically">http://serverfault.com/questions/669636/why-is-memcache-not-starting-automatically</a></p> <p>Finally, restart Apache:</p> <pre> <code>sudo systemctl restart httpd.service</code></pre> <p>Once it is working, we can begin to use this with Drupal to improve caching.</p> <p>Let's now setup the Drupal module to use Memcached.</p> <p>- Install and enable the module: <a href="https://www.drupal.org/project/memcache">https://www.drupal.org/project/memcache</a><br /> - Open up /sites/default/settings.php and add the following to the bottom of your file:</p> <p><strong>For Drupal 7:</strong></p> <pre> <code>$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc'; $conf['lock_inc'] = 'sites/all/modules/memcache/memcache-lock.inc'; $conf['memcache_stampede_protection'] = TRUE; $conf['cache_default_class'] = 'MemCacheDrupal'; // The 'cache_form' bin must be assigned to non-volatile storage. $conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; // Don't bootstrap the database when serving pages from the cache. $conf['page_cache_without_database'] = TRUE; $conf['page_cache_invoke_hooks'] = FALSE; // If this server has multiple Drupal installation // assign unique key for memcache namespace purposes $conf['memcache_key_prefix'] = 'mydomain_com';</code></pre> <p>For 'memcache_key_prefix', give it a unique value, such as mydomain_com</p> <p><strong>For Drupal 8:</strong></p> <pre> <code>$settings['memcache']['servers'] = ['127.0.0.1:11211' =&gt; 'default']; $settings['memcache']['bins'] = ['default' =&gt; 'default']; $settings['memcache']['key_prefix'] = 'mydomain_com';</code></pre> <p>For memcache_key_prefix, give it a unique value, such as mydomain_com</p> <p>These are just standard values that should be sufficient but if you have more specific needs for a different configured server, check the module's <a href="http://cgit.drupalcode.org/memcache/tree/README.txt?id=refs/heads;id2=7.x-1.x">README.txt</a> file</p> <p> </p> <p><em>Thanks to this article: http://www.cyberciti.biz/faq/rhel-fedora-linux-install-memcached-caching-system-rpm/</em></p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/memcache" typeof="schema:Thing"> <a href="/tag/memcache"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Memcache</div> </a> <span property="schema:name" content="Memcache" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/caching" typeof="schema:Thing"> <a href="/tag/caching"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">caching</div> </a> <span property="schema:name" content="caching" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/howto" typeof="schema:Thing"> <a href="/tag/howto"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">HowTos</div> </a> <span property="schema:name" content="HowTos" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/drupal" typeof="schema:Thing"> <a href="/tag/drupal"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Drupal</div> </a> <span property="schema:name" content="Drupal" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=163&amp;2=comment&amp;3=comment" token="81bf780d"></drupal-render-placeholder> </section> Thu, 30 Jun 2016 17:33:53 +0000 duvien 163 at http://duvien.com http://duvien.com/blog/installing-memcache-centos-7#comments Upgraded duvien.com to Drupal 8 http://duvien.com/blog/upgraded-duviencom-drupal-8 <span class="field field--name-title field--type-string field--label-hidden">Upgraded duvien.com to Drupal 8</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/duviencom.jpg?itok=SBuGQTLl" width="950" height="458" alt="duvien.com" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/about" lang="" about="/about" typeof="schema:Person" property="schema:name" datatype="" class="username">duvien</a></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 29/06/2016 - 21:34</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>It has taken a few of weeks of hard work upgrading duvien.com from Drupal 7. There were delights as this is the best Drupal version to date but also a lot of pains due to lack of documentation which is also badly organised. </p> <p>The adminstation panel hasn't changed much from Drupal 7 but a lot more polished. It's the little fine details of improved in UX and inclusoin of popular modules into core that makes it a joy to use.</p> <p>The pain part is under the hood were you start to noticed the directory layout and code has been completely overhauled and this has introduced another steep learning curve as it's moved to a more Object Oriented PHP. This is when you realise Drupal 8 is so different from previous major versions.</p> <p>However, i was able to acomplish most of the work just from site building and little time spent in code. So this makes me realise, with the better user experience and a lot of the tools out of the box, it is actually easier to build your website on Drupal 8 with little contrib modules so long as you have a good understanding of Entities, Bundles, Content Types and Views. </p> <p>The inline editing is a welcome new feature. It makes updaing content on the fly a breeze without jumping back and forth between front and backend.</p> <p>Site migration was a pain but this was expected when a system has been completely revamped. Drupal 8 comes with a set of migrate tools in core and that is what i used. </p> <p>Before the migration process, i had to prepare the old site by creating a new content type for core blog module and moving the blog posts over because blog module has been dropped in Drupal 8 and the migrate tools seems to have issues on my first few runs to migrate the blog posts as standard content type. After some more tries, I was still only able to get halfway through the migration process before i ran into errors and the process halted. Other content like taxonmies didn't go so well but basic pages completed ok.</p> <p>Thankfully, this turns out not to be such a big issue since it was time to clean up my blog anyway as i discovered a lot of my blogs posts had many broken links and missing media embedded content. So it was time to manually clean up what i can and remove these offending pages for better SEO. </p> <p>A lot of the contrib modules had to be written off since there were no upgraded version. Other modules had find it's way into Drupal 8.</p> <p>Speaking of modules, Drupal 8 has built it's own <a href="https://dev.acquia.com/podcast/bigpipe-drupal-bigger-better-performance-free">BigPipe</a> (which was developed by Facebook) and is part of core. From what i have read, it's sounds amazing but i don't dear to use it yet on a production site since it is still an experimental module. Another module to keep an eye on is <a href="https://www.drupal.org/project/refreshless">Refreshless</a>, it makes navigating your web site faster by only loading the parts that change between pages. This is based on the ideas behind <a href="https://github.com/turbolinks/turbolinks">Turbolinks technique</a> (pioneered by Rails). The only problem with this module at this time is that you need to apply a patch to core, this is completely against Drupal best practices so i didn't want to use it. However, the good news is that, this module will be added to core once completed. Running BigPipe along with Refreshless will be a game changer and a boost to your site.</p> <p>The theme took quite some time as i had to learn Twig and it's a completely new theme based on Bootstrap 3 framework.</p> <p>If the documentation at https://www.drupal.org/documentation wasn't lacking for Drupal 8 and more organised (and laid out) it would have made things a lot easier. A big part of the development was spent searching on Google and hoping some answers or hints will popup.</p> <p>What about the forum you asked? well! questions don't really get answered and i'm guessing Drupalers are still using Drupal 7 as it's still a more mature product to date (not surprised, as it's been around since early 2011). But expect Drupal 8 to pick up momentum this year...</p> <p>As a Drupal expert that have been using Drupal since version 6, Drupal 8 does feel more polished, modern and certainly more highly professional. </p> <p> </p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/drupal" typeof="schema:Thing"> <a href="/tag/drupal"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Drupal</div> </a> <span property="schema:name" content="Drupal" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/drupal-8" typeof="schema:Thing"> <a href="/tag/drupal-8"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Drupal 8</div> </a> <span property="schema:name" content="Drupal 8" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/upgrade" typeof="schema:Thing"> <a href="/tag/upgrade"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">upgrade</div> </a> <span property="schema:name" content="upgrade" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/duviencom" typeof="schema:Thing"> <a href="/tag/duviencom"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">duvien.com</div> </a> <span property="schema:name" content="duvien.com" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/site-maintenance" typeof="schema:Thing"> <a href="/tag/site-maintenance"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">site maintenance</div> </a> <span property="schema:name" content="site maintenance" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=161&amp;2=comment&amp;3=comment" token="18bd7790"></drupal-render-placeholder> </section> Wed, 29 Jun 2016 20:34:07 +0000 duvien 161 at http://duvien.com http://duvien.com/blog/upgraded-duviencom-drupal-8#comments Drupal Console - A command line interface (CLI) tool http://duvien.com/blog/drupal-console-command-line-interface-cli-tool <span class="field field--name-title field--type-string field--label-hidden">Drupal Console - A command line interface (CLI) tool</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/drupalconsole.jpg?itok=MENf1n58" width="950" height="305" alt="Drupal Console" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/about" lang="" about="/about" typeof="schema:Person" property="schema:name" datatype="" class="username">duvien</a></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 28/06/2016 - 17:46</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Drupal Console is a Symfony application built as is a command line interface (CLI) tool. It is to aid developers to quicker manage their Drupal 8 installation site and generate code (ie, boilerplate code) for modules and themes as well as debugging Drupal 8 code.</p> <p>It is similar to <a href="http://www.drush.org/en/master/">Drush</a> in that it can be use to manage downloading and installing modules and themes. But it offers more than that:</p> <ul><li>Takes advantage of the Symfony Console and other third-party components to generate PHP, YML, and other files.</li> <li>Takes advantage of other modern development practices.</li> <li>Saves development time, both during migration of existing Drupal modules and when writing new ones.</li> <li>Provides easy-to-learn tools that make Drupal 8 development, by extension, also easier to learn.</li> <li>Reduces development time for remaining Drupal 8 tasks and for development of new modules.</li> </ul><p>Visit: <a href="https://drupalconsole.com/">Drupal Console website to learn more</a></p> <p>Installing Drupal Console on your server is a striaghtforward process and here's how:</p> <p>Open a terminal and SSH to your server and follow the steps below:</p> <pre> <code># Run this in your terminal to get the latest project version: curl https://drupalconsole.com/installer -L -o drupal.phar # Or if you don't have curl: php -r "readfile('https://drupalconsole.com/installer');" &gt; drupal.phar # Accessing from anywhere on your system: mv drupal.phar /usr/local/bin/drupal # Apply executable permissions on the downloaded file: chmod +x /usr/local/bin/drupal # Copy configuration files to user home directory: drupal init --override # Check and validate system requirements drupal check </code></pre> <p>I didn't manage to build Drupal Console using the other method, ie, <a href="https://hechoendrupal.gitbooks.io/drupal-console/content/en/getting/composer.html">Composer</a> as it took up too much memory so server just killed the process.</p> <p>However, if you are running CenOS 7.2 running PHP 5.6 you might encounter some issues such as:</p> <p>If you run drupal check and nothing happens, check your error log, if it says:</p> <pre> <code>[27-Jun-2016 18:25:30 UTC] PHP Fatal error: require(): Failed opening required 'drupal.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in phar:///usr/local/bin/drupal/bin/drupal on line 3</code></pre> <p>Or, it's warning about <code>Segmentation Fault</code> error.</p> <p>Then you will need to disable Ioncube loader. You can do this by uncommenting out ioncube loader:</p> <pre> <code>sudo nano /usr/lib/php.ini</code></pre> <p>Find this line: <code>zend_extension="/usr/local/IonCube/ioncube_loader_lin_5.6.so" and uncomment it out:</code></p> <pre> <code>#zend_extension="/usr/local/IonCube/ioncube_loader_lin_5.6.so"</code></pre> <p>Remember to restart Apache</p> <pre> <code>/sbin/service httpd restart</code></pre> <p>If you have PHP websites or applications that requires <a href="https://www.ioncube.com/loaders.php">Ioncube Loader</a>, i'm afraid you are out of luck, see: <a href="https://github.com/hechoendrupal/DrupalConsole/issues/1168">https://github.com/hechoendrupal/DrupalConsole/issues/1168</a> (even though the link refers to an issue discovered on Nov 2015, this issue still remains to be unresolved by IonCube).</p> <p> </p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/drupal" typeof="schema:Thing"> <a href="/tag/drupal"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Drupal</div> </a> <span property="schema:name" content="Drupal" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/drupal-8" typeof="schema:Thing"> <a href="/tag/drupal-8"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Drupal 8</div> </a> <span property="schema:name" content="Drupal 8" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/drupal-console" typeof="schema:Thing"> <a href="/tag/drupal-console"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">drupal console</div> </a> <span property="schema:name" content="drupal console" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/command-line" typeof="schema:Thing"> <a href="/tag/command-line"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">command line</div> </a> <span property="schema:name" content="command line" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/cli" typeof="schema:Thing"> <a href="/tag/cli"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">CLI</div> </a> <span property="schema:name" content="CLI" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/web-development" typeof="schema:Thing"> <a href="/tag/web-development"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Development</div> </a> <span property="schema:name" content="Development" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=157&amp;2=comment&amp;3=comment" token="a1fe7a7b"></drupal-render-placeholder> </section> Tue, 28 Jun 2016 16:46:15 +0000 duvien 157 at http://duvien.com http://duvien.com/blog/drupal-console-command-line-interface-cli-tool#comments What is AMP (Accelerated Mobile Pages)? http://duvien.com/blog/what-amp-accelerated-mobile-pages <span class="field field--name-title field--type-string field--label-hidden">What is AMP (Accelerated Mobile Pages)?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/about" lang="" about="/about" typeof="schema:Person" property="schema:name" datatype="" class="username">duvien</a></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 17/06/2016 - 22:05</span> <div class="field field--name-field-video-embed field--type-video-embed-field field--label-hidden field__item"><div class="video-embed-field-responsive-video"><iframe width="854" height="480" frameborder="0" allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/lBTCB7yLs8Y?autoplay=0&amp;start=0&amp;rel=0"></iframe> </div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>AMP, short for Accelerated Mobile Pages, is new new open source initiative tospeed up websites accessed from mobile devices.</p> <p>AMP HTML is HTML with some restrictions to bolster more reliable performance and some extensions for building rich content beyond what standard HTML offers.</p> <p>A Drupal module has been released to add AMP HTML to your site. see: <a href="https://www.drupal.org/project/amptheme">https://www.drupal.org/project/amptheme</a></p> <p> </p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/amp" typeof="schema:Thing"> <a href="/tag/amp"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">AMP</div> </a> <span property="schema:name" content="AMP" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/google" typeof="schema:Thing"> <a href="/tag/google"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Google</div> </a> <span property="schema:name" content="Google" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=159&amp;2=comment&amp;3=comment" token="d812582a"></drupal-render-placeholder> </section> Fri, 17 Jun 2016 21:05:39 +0000 duvien 159 at http://duvien.com http://duvien.com/blog/what-amp-accelerated-mobile-pages#comments Has the sidebar passed its use by date? http://duvien.com/blog/has-sidebar-passed-its-use-date <span class="field field--name-title field--type-string field--label-hidden">Has the sidebar passed its use by date?</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/featured_sidebar.jpg?itok=qle3no2v" width="950" height="523" alt="Has the sidebar passed its use by date?" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/about" lang="" about="/about" typeof="schema:Person" property="schema:name" datatype="" class="username">duvien</a></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 31/05/2016 - 07:49</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>In this day and age of new design trends, faster and faster website speeds, and mobile dominance, one classic page element is still sticking around, though many may overlook it. Around since the early days of the web and a mainstay on different sites, the sidebar has had longevity.</p> <p>With many people simply scanning or skimming through content, though, not everyone pays attention to it, especially with the F-shaped reading pattern establishing that people usually start on the left side of a webpage and scan across and down the page. Add to that the increasing demand for faster page-load times, and the sidebar can easily be ignored.</p> <p>That begs the question, is the sidebar still necessary today? It’s not the primary means of navigation, and other design elements like social media buttons have become more important.</p> <h3>The purpose of the sidebar</h3> <p><a href="http://www.webdesignerdepot.com/2016/05/has-the-sidebar-passed-its-use-by-date/">Read full article</a></p> <p> </p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/web-design" typeof="schema:Thing"> <a href="/tag/web-design"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Design</div> </a> <span property="schema:name" content="Design" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=189&amp;2=comment&amp;3=comment" token="0d33ce67"></drupal-render-placeholder> </section> Tue, 31 May 2016 06:49:27 +0000 duvien 189 at http://duvien.com http://duvien.com/blog/has-sidebar-passed-its-use-date#comments How to usability test your site for free http://duvien.com/blog/how-usability-test-your-site-free <span class="field field--name-title field--type-string field--label-hidden">How to usability test your site for free</span> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img src="/sites/default/files/styles/article_image_full/public/field/image/featured_usertest.jpg?itok=1HW6v9CI" width="950" height="466" alt="usability testing" typeof="foaf:Image" class="image-style-article-image-full" /> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><a title="View user profile." href="/user/1" lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="" class="username">admin</a></span> <span class="field field--name-created field--type-created field--label-hidden">Tue, 31/05/2016 - 07:46</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Usability testing is sometimes one of those things that designers conveniently ‘forget’ about. Why? Well do a search for it. Usability testing, as it is generally practiced, costs money. There are interviews to perform, a variety of tests to create for each and every project, services to pay for… and what if your client’s in another country? Or what if they’re a small business with a small budget, or a brand-new startup? What if the only reason you learned web design in the first place was to build your own site? Check your wallet. Can you pay for classic usability testing?</p> <p>It’s not uncommon for advice written about usability testing to assume that you’re working on a “big project” for a client that can afford the fancy stuff. Even the articles that talk about testing on a budget will often refer you to paid services. Simply put, there are times when any kind of paid service, on top of every other expense, is not an option. This, is usability testing for the rest of us…</p> <p>Read the rest of the article at <a href="http://www.webdesignerdepot.com/2016/02/how-to-usability-test-your-site-for-free/">webdesignerdepot</a></p> <p> </p></div> <div class="field field-node--field-tags field-name-field-tags field-type-entity-reference field-label-hidden clearfix"> <ul class="links field-items"> <li><div about="/tag/usability-testing" typeof="schema:Thing"> <a href="/tag/usability-testing"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">usability testing</div> </a> <span property="schema:name" content="usability testing" class="rdf-meta hidden"></span> </div> </li> <li><div about="/tag/web-design" typeof="schema:Thing"> <a href="/tag/web-design"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field__item">Design</div> </a> <span property="schema:name" content="Design" class="rdf-meta hidden"></span> </div> </li> </ul> </div> <section class="field field--name-comment field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=188&amp;2=comment&amp;3=comment" token="ac0a4a89"></drupal-render-placeholder> </section> Tue, 31 May 2016 06:46:39 +0000 admin 188 at http://duvien.com http://duvien.com/blog/how-usability-test-your-site-free#comments