Thảo Trịnh -
  • Agile
  • Chuyện code
    • Design Pattern
    • Blockchain
  • Chuyện đọc
Agile
Chuyện code
    Design Pattern
    Blockchain
Chuyện đọc
  • Agile
  • Chuyện code
    • Design Pattern
    • Blockchain
  • Chuyện đọc
Thảo Trịnh -
Lập trình

SỬ DỤNG TRÌNH SOẠN THẢO VI EDITOR TRÊN MAC OS VÀ LINUX

Trình soạn thảo vi là một trình soạn thảo văn bản chạy trên terminal rất phổ biến trên các máy tính kiểu UNIX, trong đó có Mac OS X và Linux. vi editor được sử dụng nhiều như vậy là vì nó tương thích với hầu hết các terminal, và để thao tác với vi editor, bạn chỉ cần sử dụng các phím abc thông thường, không cần dùng các phím đặc biệt như Ctrl, Alt, Command hay các phím Fn có thể khác nhau ở từng loại máy. Xem thêm

May 27, 2017by thaotrinh
Database

Cài đặt và cấu hình Apache, MySQL trên macos

OSX 10.10 Yosemite được cài đặt sẵn Apache 2.4. Để khởi động web server, các bạn chỉ việc mở Terminal (/Applications/Utilities/Terminal) và gõ:

sudo apachectl start

Tương tự khi muốn restart và stop Apache

sudo apachectl stop

sudo apachectl restart

Sau khi start Apache, bạn có thể mở trình duyệt lên và gõ thử localhost sẽ xuất hiện thông báo It works!

Chú ý: Nếu bạn không thể truy cập được http://localhost thì bạn sẽ cần thêm alias vào file /etc/hosts: 127.0.0.1 localhost. Mặc định thì nó đã có sẵn (Vào Finder. Gõ tổ hợp phím: Command + Shift + G. Khi cửa sổ tìm kiếm hiện ra ta gõ: “/etc/” và nhần Go)

Document Root
Điều đầu tiên chúng ta muốn làm sẽ là thay đổi Document Root cho Apache. Đây là folder mà Apache sẽ tìm kiếm file để phục vụ. Mặc định thì Document Root được thiết lập ở /Library/WebServer/Documents. Chúng ta sẽ thay đổi nó về thư mục home – thư mục user của bạn. Để thực hiện điều này, chúng ta cần thay đổi file /etc/apache2/httpd.conf. Do đây là file được sở hữu bởi root nên bạn sẽ cần thêm sudo để có thể thay đổi được file. Ở đây mình dùng vim, bạn có thể dùng các editor khác như sublime text hay nano nếu thích.

sudo vi /etc/apache2/httpd.conf
Vim edit httpd.config file

Vim edit httpd.config file

Tìm từ DocumentRoot, bạn sẽ thấy dòng sau:

DocumentRoot "/Library/WebServer/Documents"

Thay đổi đường dẫn thành folder dưới user của bạn. Ở đây tôi dùng thư mục webroot/wordpress

DocumentRoot "/Users/your_user/webroot/wordpress"

Bạn cũng cần thay đổi đường dẫn ở trong thẻ <Directory>

<Directory "/Users/your_user/webroot/wordpress">

Ở ngay trong block của <Directory> bạn sẽ thấy AllowOverride, hãy thay đổi nó thành như sau:

AllowOverride All

DocumentRoot-config-vim

User & Group
Bây giờ Apache đã được thiết lập để trỏ tới thư mục /webroot/wordpress trong thư mục home của bạn. Tuy nhiên chúng ta vẫn có một vấn đề, đó là mặc định apache sẽ chạy dưới user _www và group _www. Điều này sẽ dẫn tới các vấn đề liên quan tới permisssion khi truy cập các file trong thư mục home. Chúng ta sẽ cần thay đổi chúng thành user mà bạn đang dùng và group staff. Vẫn ở trong file httpd.conf, bạn tìm 2 thiết lập User và Group và thay đổi chúng:

User your_user
Group staff

Đến đây chúng ta có thể save lại file httpd.conf. Gõ :wq và enter

Sau khi chỉnh sửa file httpd.conf thì tất nhiên bạn sẽ cần restart lại apache để cập nhật các thiết lập mới:

sudo apachectl restart

Bây giờ bạn cần tạo thư mục /webroot/wordpress ở trong thư mục home (your_user) của bạn. Ở trong thư mục /webroot/wordpress, chúng ta sẽ tạo thêm 1 file index.html với nội dung đơn giản: <h1>Hello Apache!!!</h1>.

Bây giờ hãy mở http://localhost bằng trình duyệt để kiểm tra xem nội dung chúng ta vừa viết có hiện ra không nhé. Nếu không bạn cần phải kiểm tra lại tất cả các bước vừa làm ở trên để chắc chắn mình đã thao tác đúng.

Vậy là chúng ta đã cấu hình và chạy được Apache trên Mac OS. Tiếp theo mình sẽ cùng các bạn tiếp tục cài đặt MySQL và PHP để bắt đầu code 😉

Cài đặt MySQL

Tải về MySQL tại http://dev.mysql.com/downloads/mysql/ (mình đề xuất tải bản DMG Archive), sau đó cài đặt (Lưu ý các bạn nên ghi nhớ mật khẩu default của user root khi cài đặt). Mở System Preferences, bạn sẽ thấy xuất hiện MySQL như hình:

cai-dat-mysql-01

Hãy bấm vào đó và chọn Start MySQL Server.

cai-dat-mysql-02

Trở lại terminal và gõ lần lượt các lệnh sau

export PATH=${PATH}:/usr/local/mysql/bin

mysql -u root -p

Bước tiếp theo các bạn nhập password của user root lúc cài đặt.

Nếu mọi thứ đều ổn các bạn sẽ nhận được thông tin cài đặt mysql

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 62 Server version: 5.7.18 Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. Xem thêm

May 26, 2017by thaotrinh
.NET

Giới thiệu serie Lập trình theme WordPress – 2017

Dạo gần đây mới làm việc thêm với wordpress, thấy nó cũng thú vị nên muốn làm cái tutorials vừa để chia sẻ vừa để note lại những gì mình thu lượm được.

Do series này sẽ tập trung vào việc lập trình một theme WordPress nên các kiến thức cơ bản như HTML và CSS mình sẽ không nói qua. Khuyến khích các bạn nên có các kiến thức như:

May 25, 2017by thaotrinh
Lập trình

Cấu hình Virtual Host trong XAMPP

Virtual Host (Vhost) là một cấu hình trong Apache để cho phép nhiều domain cùng chạy trên một máy chủ. Để dễ hình dung hơn khi các bạn chạy webapps ở môi trường phát triển sẽ có url localhost:1234. Giờ ta có thể làm url trở nên thân thiện hơn bằng các chuyển nó thành dạng giống domain: thaotrinh.dev:1234
Trong bài viết này mình chỉ muốn chia sẻ với các bạn còn lạ lẫm về Vhost cách để cấu hình một Virtual Host trong Windows, ở đây mình sử dụng XAMPP làm môi trường phát triển. Xem thêm

May 25, 2017by thaotrinh
Lập trình

Xử lý lỗi không nhận font khi deploy websites

Hôm trước điên điên ngồi deploy dự án thế nào lại thấy báo thiếu không nhận được font.

Kiểm tra đi kiểm tra lại thì thấy đã đủ font trong thư mục deploy rồi. Code ổn rồi. Xem thêm

May 23, 2017by thaotrinh

Tìm kiếm

Bài viết mới

Giá trị của Scrum Master trong case study của Leflair

Giá trị của Scrum Master trong case study của Leflair

Vì sao bạn nên phân tích đối thủ để đưa ra giải pháp thiết kế tốt hơn

Vì sao bạn nên phân tích đối thủ để đưa ra giải pháp thiết kế tốt hơn

Scrum Master làm gì trong suốt một ngày?

Scrum Master làm gì trong suốt một ngày?

Tôi có thể làm gì trong những năm 20 tuổi để giúp phát triển bản thân và cả sự nghiệp của tôi?

Tôi có thể làm gì trong những năm 20 tuổi để giúp phát triển bản thân và cả sự nghiệp của tôi?

Sách đã đọc

Sách đã đọc

Chuyên mục

  • Agile learn
  • Chuyện đọc
  • Gã
  • Lập trình
    • .NET
    • Blockchain
    • Database
    • Design Pattern
    • Lập trình cơ bản
    • Laravel
  • Leading
  • Product
    • Design
  • Uncategorized

Mọi người quan tâm

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C#  – p2

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p2

Tạo ứng dụng blockchain đầu tiên với C#

Tạo ứng dụng blockchain đầu tiên với C#

Cài đặt và cấu hình Apache, MySQL trên macos

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C#  – p3

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p3

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p1

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p1

Tags

Agile Apache blockchain C# Case study CQRS Daily Scrum database DDD deadlocks Dependency Injection Dependency Inversion Design Pattern docker ebook fix mindset git Good Developer growth mindset kinh tế Pair programing Repository Retrospectives Risk Management Scrum Scrumban Scrum Guide Scrum Master Senior Senior Developer singleton solid Technical debt UI UnitOfWork UX Viết Động lực

Lịch sử

  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • September 2020
  • August 2020
  • June 2020
  • April 2020
  • March 2020
  • December 2019
  • November 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • November 2018
  • September 2018
  • July 2018
  • June 2018
  • March 2018
  • January 2018
  • December 2017
  • June 2017
  • May 2017
  • October 2016
  • August 2016
  • June 2016
  • March 2016
  • January 2016
  • December 2015
  • March 2015