PHP TUTORIALS
Hướng dẫn tạo domain ảo tại localhost với XAMPP trên Window Có gì mới trong PHP 8 (Tính năng, Cải tiến và Trình biên dịch JIT) Hướng dẫn viết ứng dụng kiểm tra năm sinh theo âm lịch bằng PHP Xử lý realtime trong PHP sử dụng pusher Hướng dẫn gửi mail trong PHP với PHPMailer Bóc tách dữ liệu từ trang khác bằng PHP Simple HTML DOM Parser Cách sửa lỗi hình ảnh khi đăng bài viết lên Facebook Hướng dẫn tạo thông báo realtime với pushcrew Kích thước chuẩn và cách làm FavIcon icon Tìm hiểu bản chất vòng lặp foreach trong php Những vấn đề nâng cao kỹ năng lập trình trong php Sử Dụng Vòng Lặp Xuất Dữ Liệu Bảng Tính Lương Tìm hiểu thuật toán phân trang trong php Giới hạn số trang trong thuật toán phân trang Bài 01: Đệ quy menu đa cấp với php và mysql - phần 1 Bài 02: Đệ quy menu đa cấp với php và mysql - phần 2 Tích hợp bộ search google vào website Nên dùng count() hay sizeof() để đếm số phần tử của mảng Bài 01: Lấy dữ liệu từ mysql lưu vào file excel với PHPExcel Tạo slug tự động bằng JavaScript và PHP RSS là gì? Cách Tạo RSS cho Website PHP CMS là gì? Các CMS phổ biến hiện nay (update 2021) Web động là gì? Web tĩnh là gì? Chặn referrer từ website simple-share-buttons.com Bảng mã ASCII chuẩn các hệ nhị phân - thập phân - thập lục phân Hướng dẫn tạo Facebook App để lấy App ID và Secret Key Mối liên hệ giữa HTML - PHP - MYSQL Tự động post bài viết lên tường với hootsuite.com Kiểm tra người dùng đã đăng nhập hay chưa bằng PHP Lấy video kênh Youtube mới nhất bằng jQuery và Youtube API V3 Đệ quy chuyên mục đa cấp trong PHP toàn tập Font Awesome là gì? Cách sử dụng Font Awesome Tích hợp đăng nhập Google vào Website Thuật toán phân trang với PHP và MySQL Cài đặt LAMP trên Fedora
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Cài đặt LAMP trên Fedora

Bước đầu tiên để học lập trình web PHP là bạn phải có đầy đủ công cụ và môi trường để chạy ứng dụng. Hiện nay có nhiều cách tạo môi trường và sử dụng cách nào thì phụ thuộc vào hệ điều hành mà bạn đang sử dụng.

Nếu bạn dùng Window thì có thể chọn Vertrigo, Xampp hoặc một phần mềm tạo máy chủ ảo bất kì nào đó. Nhưng nếu bạn sử dụng Linux thì bạn có thể cài LAMP hoặc LEMP, trong loạt bài này thì mình sẽ sử dụng LAMP.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. LAMP là gì?

LAMP đã trở thành một tiêu chuẩn trong cộng đồng web ở những năm gần đây. Viết tắt của LAMP là Linux - Apache – MySQL – PHP, là một môi trường để bạn tạo một server dể chạy thử website trên máy tính của bạn, hiểu nôm na là thế. Trên Win bạn có WAMP hoặc XAMP thì cũng tương tự như vậy trên linux Fedora 21 ta có LAMP, mà LAMP thì ngon hơn nhiều :).

2. Cài đặt LAMP trên Fedora

Sau đây mình sẽ hướng dẫn cài đặt bộ LAMP trên hệ điều hành Linux Fedora.

Bước 1: Đăng nhập tài khoản Root

Việc đầu tiên là bạn mở Terminal lên: Click WINDOW rồi gõ chữ terminal vào ô tìm kiếm, như hình sau:

cai dat lamp tren linux 1 png

Gõ vào dòng sau để dùng quyền root (cài phần mềm phải dùng quyền root -quyền cao nhất)

su -

Rồi gõ vào mật khẩu tài khoản root của bạn. Nó sẽ không hiển thị bất kỳ ký tự nào, đừng lo lắng, cứ đấnh đúng thì nó sẽ pass qua thôi, còn không thì nó sẽ báo lỗi. Mình lần dầu dùng cứ ngỡ nó bị lỗi mà thật ra đó là … một tính năng :)

cai dat lamp tren linux 2 png

Bạn sẽ thấy nó chuyển từ người dùng bình thường [yaourt@localhost ~]$ sang tài khoản root [root@localhost ~]# . Nôm na thì các bạn cứ hiểu root là trùm cuối quản lý mấy thằng con của nó. Một lưu ý khi dùng quyền root là hãy cẩn thận và chắc chắn là bạn hiểu rõ nhưng gì bạn viết trên terminal.

Bước 2: Cài đặt Apache

Linux thì ta có rồi nên giờ cày Apache vào thôi. Gõ dòng sau vào termial:

yum install httpd

Nó sẽ load các gói và các file cần cài rồi hỏi bạn có muỗn cài hay không? Gõ vào chữ y để chọn yes. Dạng thế này này:

cai dat lamp tren linux 3 png

Ở trên mình chỉ lấy ví dụ cho bạn dễ hình dung thôi. Chứ tấm hình trên là mình cài Playonlinux. Sau này khi bạn cài 1 phần mềm gì thì nó sẽ theo trình tự: load package → hỏi bạn có muỗn cài không? → y hoặc Y hoặc yes → ngồi đợi nó cài.

Giao diện khi đang cài đặt dạng thế này:

cai dat lamp tren linux 4 png

Có thể bản Fedora 21 khi cài nó đã cài sẵn Git, HTTPD cho bạn rồi thì bạn sẽ thấy thông báo sau:

cai dat lamp tren linux 5 png

Nếu vậy thì bạn dùng tiếp các dòng lệnh sau:

systemctl enable httpd.service
systemctl start httpd.service

Dòng đầu là để mở cái Apache lên, dòng sau là để bắt đầu cho nó chạy. Tiếp theo là mở tường lửa cho Apache cho nó chạy được. Gõ dòng sau vào để mở file config SELinux:

vi /etc/sysconfig/selinux

cai dat lamp tren linux 6 png

Hãy sửa dòng SELINUX=enforcing thành SELINUX=disabled rồi nhấn nút Esc góc trên cùng bên trái 3 lần rồi đánh gõ :wq vào, để ý hình dưới thì dòng :wq nó hiện ở góc trái dưới cùng của terminal như hình ở dưới:

cai dat lamp tren linux 7 png

Xong nhấn Enter để lưu lại.

Sau đó vào bạn sẽ quay trở ra Termial, gõ tiếp 4 dòng sau để mở tường lửa.

firewall-cmd –set-default-zone=public
firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd –reload

Sau đó truy cập địa chỉ http://localhost/ sẽ thấy trang chủ của Apache là ok rồi.

cai dat lamp tren linux 9 png

Bước 3: Cài đặt MySQL:

Kế đến là MySQL. Trên họ nhà RedHat (RHEL, CentOS, Fedora) hiện nay đang sử dụng mariadbthay thế cho MySQL. Trên cơ bản thì 2 thằng nó chẳng khác gì cả, chẳng qua giờ em MySQL có nguy cơ thành phần mềm trả phí nên cộng đồng tạo ra mariadb cho tụi mình xài miễn phí thôi :)

yum install mariadb mariadb-server

Như cũ thì bạn dán dòng đó vào terminal rồi Enter rồi đợi rồi chọn y rồi Enter tiếp để xác nhận cài đặt là được. Từ bây giờ mình sẽ không nói đến khúc này nữa, hễ có lệnh install thì mình sẽ mặc định là các bạn biết làm rồi. Xong rồi thì bật nó lên sau chạy nó bằng 2 dòng lệnh

systemctl enable mariadb.service
systemctl start mariadb.service

Rồi bạn chạy lệnh sau để bắt đầu cấu hình cài MySQL.

mysql_secure_installation

Rồi bạn sẽ thấy lần lượt từng dòng lệnh sau trong Terminal:

[root@localhost ~]# mysql_secure_installation

/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

     SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):<-- ENTER

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

Set root password? [Y/n]<-- ENTER

New password:<-- nhập vào mật khẩu mới của bạn 

Re-enter new password:<-- nhập mật khẩu lần nữa

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n]<-- ENTER

... Success!

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]<-- ENTER

... Success!

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n]<-- ENTER

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n]<-- ENTER

... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

[root@localhost ~]#

Bước 4: Cài đặt PHP

OK. Giờ đã xong cái Database, chỉ còn thằng PHP là xong phim. Gõ dòng sau để cài đặt PHP 5.6 (hay cái là chỉ có mỗi thằng Fedora mặc định cài 5.6, Ubuntu hay Debian đều chơi vs 5.5.9 mới đau).

yum install php

Sau đó dùng lệnh sau để khởi động lại cái Apache cho nó chạy.

systemctl restart httpd.service

Set quyền truy cập vào thư mục chứa web site của mình tại thư mục /var/www/html/

chmod -R 777 /var/www/

Sau đó truy cập vào thư mục /var/www/html/ rồi tạo 1 file index.php với nôi dung như sau:

<?php phpinfo(); ?>

Rồi bạn truy cập lại vào địa chỉ http://localhost/index.php thấy giao diện như sau là OK.

cai dat lamp tren linux 11 png

Hiện tại nếu các bạn quăng source của bạn vào thì nó sẽ k chạy được, nó sẽ báo lỗi → Lỗi này 100% là bạn chưa set quyền truy cập cho các file + thư mục bạn vừa để vào. Rồi các bạn fix được thì sẽ dính tiếp Mod_rewrite. Vậy bài tập cho các bạn là fix 2 lỗi sau:

1. Lỗi không thể truy cập thư mục, file - từ khóa: Can not access file in linux, bạn nào tìm hiểu chmod thì sẽ làm dc ok

2. Chỉnh mode_rewrite, khuyến khích đọc không khuyến khích làm theo nhé, lỡ có lỗi cài lại mắc công lắm :)

3. Lời kết

Thật ra còn 1 giải pháp nữa là LEMP, thay thế Apache bằng Nginx → tốc độ được cải thiện đáng kể khi dùng cho site truy cập lớn. Nhưng mỗi cái đều có bất tiện nên người ta nghĩ ra biện pháp xài cả Nginx và Apache, các bạn có thể tìm đọc các bài so sánh 2 thằng này, rồi cách cấu hình để Nginx lồng vào Apache, nếu cài DirectAdmin thì không cần quan tâm lắm khúc này. Vì mình thích tự mày mò nên mới giới thiệu cho mọi người tìm

Bài sau mình sẽ tiếp tục hướng dẫn cài tools - Editor sublime text 3 trên fedora 21, rồi một vài ứng dụng, thiết lập cần thiết; giải quyết các vấn đề phát sinh thường gặp ( 2 lỗi ở trên ). Chào và hẹn gặp lại

Cùng chuyên mục:

Hàm key_exists() trong PHP

Hàm key_exists() trong PHP

Cách sử dụng key_exists() trong PHP

Hàm mysqli_fetch_row() trong PHP

Hàm mysqli_fetch_row() trong PHP

Cách sử dụng mysqli_fetch_row() trong PHP

Hàm end() trong PHP

Hàm end() trong PHP

Cách sử dụng end() trong PHP

Hàm mysqli_field_count() trong PHP

Hàm mysqli_field_count() trong PHP

Cách sử dụng mysqli_field_count() trong PHP

Hàm count() trong PHP

Hàm count() trong PHP

Cách sử dụng count() trong PHP

Hàm mysqli_field_seek() trong PHP

Hàm mysqli_field_seek() trong PHP

Cách sử dụng mysqli_field_seek() trong PHP

Hàm compact() trong PHP

Hàm compact() trong PHP

Cách sử dụng compact() trong PHP

Hàm mysqli_field_tell() trong PHP

Hàm mysqli_field_tell() trong PHP

Cách sử dụng mysqli_field_tell() trong PHP

Hàm array_values() trong PHP

Hàm array_values() trong PHP

Cách sử dụng array_values() trong PHP

Hàm mysqli_free_result() trong PHP

Hàm mysqli_free_result() trong PHP

Cách sử dụng mysqli_free_result() trong PHP

Hàm array_unshift() trong PHP

Hàm array_unshift() trong PHP

Cách sử dụng array_unshift() trong PHP

Hàm mysqli_get_charset() trong PHP

Hàm mysqli_get_charset() trong PHP

Cách sử dụng mysqli_get_charset() trong PHP

Hàm array_shift() trong PHP

Hàm array_shift() trong PHP

Cách sử dụng array_shift() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Cách sử dụng mysqli_get_client_stats() trong PHP

Hàm array_unique() trong PHP

Hàm array_unique() trong PHP

Cách sử dụng array_unique() trong PHP

Hàm mysqli_get_client_version() trong PHP

Hàm mysqli_get_client_version() trong PHP

Cách sử dụng mysqli_get_client_version() trong PHP

Hàm array_uintesect() trong PHP

Hàm array_uintesect() trong PHP

Cách sử dụng array_uintesect() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Cách sử dụng mysqli_get_connection_stats() trong PHP

Hàm array_sum() trong PHP

Hàm array_sum() trong PHP

Cách sử dụng array_sum() trong PHP

Hàm mysqli_get_host_info() trong PHP

Hàm mysqli_get_host_info() trong PHP

Cách sử dụng mysqli_get_host_info() trong PHP

Top