Install memcache.so for PHP 5.6 1. Install memcached $ brew install memcached 2. Download php source code http://www.php.net/downloads.php 3. Copy source code to the folder /Applications/MAMP/bin/php/{php version}/include/php e.g.) /Applications/MAMP/bin/php/php5.6.10/include/php 4. Install libiconv $ brew install homebrew/dupes/libiconv 5. Execute configure in php source folder $ cd /Applications/MAMP/bin/php/php5.6.10/include/php $ ./configure –with-iconv=/usr/local/Cellar/libiconv/1.14/ 6….
Author: Chris Lee
Vagrant Box 디스크 용량 늘리기
참고(Reference): http://tuhrig.de/resizing-vagrant-box-disk-space/ http://derekmolloy.ie/resize-a-virtualbox-disk/ http://stackoverflow.com/questions/11659005/how-to-resize-a-virtualbox-vmdk-file 요약 Vagrant는 디스크 용량을 바꿀수있는 옵션을 주지 않는다. 기본으로 40G(기본 이미지 10GB)를 제공하는데, 이 용량을 바꾸는 옵션을 제공하지 않는다. Vagrant의 VirtualBox를 리사이징할려면 수동으로 리사이징을 해야한다. 순서 Vagrant VM을 먼저 종료시킨다. $ vagrant halt 그리고 Vagrant VirtualBox VM이 어디에 위치한지 VirtualBox에서 찾는다. 해당 Virtualbox VM 폴더로 가서 VMDK disk를 VDI디스크로…
[Linux] Remove all email & Reset /var/log files
Delete all mails $ mail > d * > q Force to reset log files not recommended $ sudo su $ cd /var/log $ > lastlog $ > wtmp $ > dpkg.log $ > kern.log $ > syslog $ > messages $ exit
PTV Timetable API sample code for PHP
API Page: https://www.ptv.vic.gov.au/about-ptv/ptv-data-and-reports/digital-products/ptv-timetable-api/ptv-timetable-api-reference/ 1. Request API key by sending email How to register for a key and developer ID > Send an email to APIKeyRequest@ptv.vic.gov.au with the following information in the subject line of the email: • “PTV Timetable API – request for key” > Once we’ve got your email request, we’ll send you a…
Docker 1.12 – Deploying Docker Services within Docker Swarm Mode and Docker Machine
Docker 1.12 – Deploying Docker Services within Docker Swarm Mode and Docker Machine Source Repo: https://github.com/chrisleekr/docker-swarm-scalable-web-application-architecture This is proof-of-concept project to set up Docker Swarm in development environment with single command. This project involves: Docker Machine Docker Swarm – Docker Built-in Orchestration Local Docker Registry Docker Network Docker Service Note: This project is created for…
Raspberry pi에 Let’s Encrypt SSL 설치하기
Raspberry Pi의 IP를 알아낸다음에 Router에서 DMZ를 설정하여 외부 IP로 접속할 경우 Raspberry Pi로 접근이 되도록 한다. Raspberry Pi에 아파치를 설치한다. 설치방법: https://www.raspberrypi.org/documentation/remote-access/web-server/apache.md 외부 IP로 접속하여 Apache 설치 여부를 확인한다. Raspberry Pi에 다이나믹 도메인을 연결한다 https://www.noip.com (무료) 에 가입을 한다 NoIP Dynamic Update Client를 다운로드 및 설치한다. 다운로드: https://www.noip.com/download?page=linux 설치방법: https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client-on-ubuntu/ 다이나믹 도메인 (http://xxxxx.ddns.net)에 접속이 되는지 확인한다….
Vagrant Scalable Web Application Architecture
Deploying scalable web application using Vagrant, Consul, Consul Template, nginx and HAProxy Source Repo: https://github.com/chrisleekr/vagrant-scalable-web-application-architecture This is proof-of-concept project to spin up scalable web application architecture with Vagrant. The project involves: Vagrant for launching multiple VM instances and persistent storage Consul for health checking and service discovery Consul Template for automated load balancer management nginx for…
Secure Raspberry Pi with iptables, PSAD, Fail2ban and OSSEC
Disable ping $ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all Install iptables and iptables-persistent $ sudo apt-get install iptables iptables-persistent $ sudo service iptables-persistent start Create shell script $ nano reset_iptables.sh #!/usr/bin/env bash iptables -F iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED…
Vagrant MySQL Master-Slave Replication
Vagrant MySQL Master-Slave Replication Source Repo: https://github.com/chrisleekr/vagrant-mysql-master-slave-replication Vagrantfile to spin up MySQL Master-Slave replication with persistent data storage Note: This project is created for just practice. Not suitable for production use. Prerequisites Vagrant 1.8.1+: http://www.vagrantup.com/ VirtualBox: https://www.virtualbox.org/ Usage $ git clone https://github.com/chrisleekr/vagrant-mysql-master-slave-replication.git $ cd vagrant-mysql-master-slave-replication $ vagrant up After vagrant machines are running, you can connect…
Docker Tor+Proxy
Run tor and proxy server in docker and set Chrome browser to send all traffics to docker tor proxy server Environment: Windows 7 Docker Toolbox – https://www.docker.com/products/docker-toolbox Proxy Helper – https://chrome.google.com/webstore/detail/proxy-helper/mnloefcpaepkpmhaoipjkpikbnkmbnic?utm_source=chrome-app-launcher-info-dialog Step 1: Create docker-compose-tor.xml version: ‘2’ services: torproxy: image: jess/tor-proxy expose: – “9050” restart: “always” privoxy: image: jess/privoxy links: – torproxy ports: – “8118:8118” expose: – “8118” restart:…
Idea – USB Lego Hub
Since using lots of devices require USB cable charging, I had to use USB hub. However, most of USB hubs are fixed, not flexible. I had to buy 10 ports USB hub, even if I don’t need 10 ports, or If I buy 3 ports USB hub, I need more ports. So end to buy more…
CryptoLocker 랜섬웨어 복구 방법/How to recover from CryptoLocker Ransomware
CryptoLocker 랜섬웨어 복구 방법 How to recover from CryptoLocker Ransomware 이 복구 방법은 암호화된 파일을 복호화시키는게 아니라 CryptoLocker가 암호화 시키는 과정에서 삭제된 파일을 복구를 시키는 방법이며, 100% 완벽한 복구 방법이 아니다. 조사를 해보니 CryptoLocker는 먼저 파일을 복사하여 복사본을 만든다음에 그 복사본을 암호화하고, 원본 파일을 삭제하는 기법을 사용한다. 그렇기 때문에 CryptoLocker에 걸리고 나서 데이터 변화가 없다는 가정하에,…
주의 Document2.zip 첨부파일
상황 정리: 방금 전, 내 이메일로 나에게 수상한 압축파일이 하나 전달되었음. 리눅스 VM을 열어 파일을 다운로드하고 압축을 해제함. Document 2.zip안에는 RHE3451867925.js 자바스크립트 파일이 있어 파일을 열어본 결과 스크린샷과 같은 내용을 볼수있었음 압축파일은 Locky Ransomware로 파악됨 최근 몇일 사이에 많이 퍼진듯함 (https://myonlinesecurity.co.uk/document1-pretending-to-come-from-your-own-email-address-js-malware-leads-to-locky-ransomware/) 압축 파일은 Document 1.zip이 되기도 하고 Document 7.zip이 되기도하는듯 함. 일단 내 메일주소였기 때문에…
암호 관리 프로그램 짜투리팁
[오늘의 짜투리 간단팁] 각종 사이트의 암호를 다 같게 할 경우, 하나가 해킹당하면 모든 사이트 비밀번호를 다시 바꿔야하고! 암호를 다 다르게 하자니, 다 기억할 수 가 없네요. 암호를 쉽게 만들면 또 쉽게 만든다고 해킹당하고, 어렵게 만들면 또 내가 기억못하고, 이걸 어떻게 해야하나요!? 그래서 나온 프로그램들이 1Password나 LastPass같은 암호 관리 프로그램들이에요. 이런 암호 관리 프로그램들은 어떤사이트에 내가…
How to delete watch history in Facebook activity history
If you go to your Activity Log in Facebook and click Photos tab in the left menu, you will find the history of watched videos in your timeline. I assume, even if you watched auto-played video in your timeline, Facebook assumed that you watched that video and log that you watched the video. It indicates the…
Gmail 피싱 사이트 관련
[Gmail 피싱 사이트 관련] 평화롭던 금요일 저녁, 급박한 이메일이 하나 도착했습니다. 누군가가 제 암호를 이용해서 구글 계정에 접근했다고 구글로부터 노티피케이션 메일이 온거지요. 자세하게 미국에서 접근했다는 내용과 함께 만약 제가 로그인한게 아니라면 바로 암호를 변경하라고 버튼이 있었습니다. 허술한 피싱메일과는 달리 완벽하게 구글 노티 메일을 카피하여서 인지, 바로 Reset Password버튼을 클릭하고 로그인 페이지로 들어가 이메일과 암호를 입력하고…
랜섬웨어 관련
[랜섬웨어 관련] 안녕하세요. 랜섬웨어라고 들어보셨는지요? 컴퓨터나 모바일에 사용자의 동의없이 설치되어 모든 파일들을 암호화 시킨뒤 돈을 요구하면 암호화를 풀어준다고 하는 악성 프로그램을 말합니다. 이 악성 코드는 연결되어있는 모든 외장하드 파일들도 암호화를 시키니 한번 걸리면 사실 풀수있는 방법이 존재하지 않습니다. 돈을 지불하더라도 암호화를 풀어줄지 안 풀어줄지는 확실하지 않습니다. 이 악성 프로그램을 고칠 수 있는 백신도 없으니, 즉,…
WebSocket Sample
The sample process Send event to Web Socket for getting order id Web Socket connects MySQL orders table and get next order id Send event back to client with message and next order id Sample Environment Node.js Modules: mysql, socket.io PHP MySQL Filename: serverfile.js // Open port 3000 var io = require(‘socket.io’).listen(3000); // Load mysql…
랜섬웨어(Ransomware) 제거 툴
파일을 암호화 시키고 돈을 결제하면 파일을 원상복구 시켜주는 악성 랜섬웨어를 제거해주는 무료 툴이 공개됨. 최근에 한국을 포함한 아시아 지역에 CryptoLocker라는 악성 코드가 확산되어 많은 사람들이 피해를 봄. 보안전문가 Jada Cyrus는 이러한 범죄활동과 싸우기 위해 랜섬웨어 제거툴을 온라인에 무료로 공개함. ZDNet 글에서 따르면, Cyrus는 랜섬웨어를 제거하기전에 사후 분석을 위해 복사본을 만들어 놓는 것을 추천함. Cyrus는 랜섬웨어…
Configure Aptana to support PHP 5.4
I am using Aptana Studio 3 in Mac. When I try to set PHP 5.4 environment in project settings, it does not save the changes. And found this article – http://stackoverflow.com/questions/24633995/aptana-php-version-doesnt-stick-in-project-properties 1. Open project folder 2. Create folder .settings 3. Create file com.aptana.editor.php.prefs and Put below content into created file eclipse.preferences.version=1 phpVersion=php5.4 4. Close project and re-open
MS SQL Express 2012 Installation Error – No room is available to display rows
Environments Mac 10.10 Parallels Desktop 9 Windows 7 Issue & Solutions When I try to install MS SQL Express 2012, the installer shows an error like “No room is available to display rows”. The reason was screen resolution in Mac retina display. Open Parallels Desktop -> Virtual Machine -> Configure -> Hardware -> Video -> Change…
Magento Creare SEO overrides default page titles
I had installed Magento Creare SEO extensions (http://www.magentocommerce.com/magento-connect/creare-seo.html) The extension is good and did what I wanted to achieve. However, the extension override the page title to default page title in these pages, such as Login, Signup, Popular Search Terms, Search Results, etc. So it created duplicate page titles. After researching the code, I found…
Sample XAMPP MySql my.ini Fast Performance
Only use in local test MySQL. # Example MySQL config file for large systems. # # This is for a large system with memory = 512M where the system runs mainly # MySQL. # # MySQL programs look for option files in a set of # locations which depend on the deployment platform. # You…
SmartOptimizer with CS-Cart optimization
Reference: http://forum.cs-cart.com/topic/29499-speed-up-and-optimise-cs-cart-version-3/ In store root .htaccess DirectoryIndex index.html index.php <IfModule mod_rewrite.c> RewriteEngine on # Pleas note that RewriteBase setting is obsolete use it only in case you experience some problems with SEO addon. # Some hostings require RewriteBase to be uncommented # Example: # Your store url is http://www.yourcompany.com/store/cart # So “RewriteBase” should be: #…
페이스북 그룹 사진 모두 다운받기
페이스북 그룹안의 사진을 한꺼번에 다운받을 수 있는 툴 http://www.picknzip.com/