Error in module ImageApi

Error:

  Error displayed when you use modules ImageApi, ImageCache
warning: Parameter 1 to imageapi_gd_image_resize() expected to be a reference, value given in .../modules/imageapi/imageapi.module on line 165


  Cause of the problem in using PHP version 5.3
The solution is quite easy, although it will have to rewrite slightly module imageapi. To do this, open the folder with the module and open the file in the editor imageapi.module. Then go to line 163 where we see the following:
<?phpfunction imageapi_toolkit_invoke($method, &$image, array $params = array()) {
 
$function = $image->toolkit . '_image_' . $method;
  if (
function_exists($function)) {
   
array_unshift($params, $image);
    return
call_user_func_array($function, $params);
  }
 
watchdog('imageapi', 'The selected image handling toolkit %toolkit can not correctly process %function.', array('%toolkit' => $image->toolkit, '%function' => $function), WATCHDOG_ERROR);
  return
FALSE;
}
?>
Now this function, we need to slightly adjust the following:
<?phpfunction imageapi_toolkit_invoke($method, &$image, array $params = array()) {
 
$function = $image->toolkit . '_image_' . $method;
  if (
function_exists($function)) {
   
array_unshift($params, $image);
       
$params[0] = &$image;
    return
call_user_func_array($function, $params);
  }
 
watchdog('imageapi', 'The selected image handling toolkit %toolkit can not correctly process %function.', array('%toolkit' => $image->toolkit, '%function' => $function), WATCHDOG_ERROR);
  return
FALSE;
}
?>

Đọc thêm..

Setup ISPCP

Yêu cầu hệ thống:
Pentium III or K6-4 with 500 MHz
512 MB RAM
100 MB free disk space for ispCP ω itself
A supported Linux distribution

1. Chuẩn bị cài đặt
1.1. Cập nhật hệ điều hành.
Đơn giản nhất là sử dụng yum. Tại dấu nhắc gõ lệnh
#yum update
Chờ một vài giây... hệ thống sẽ hỏi: Is this ok [y/N]
trả lời y, bấm OK.
Tùy vào phiên bản hiện tại đang cài đặt và tốc độ mạng, thời gian update có thể vài phút hoặc vài giờ đồng hồ. Cho tới khi có thông báo Complete là xong.
1.2 Thêm các nguồn cung cấp phần mềm (Software Repositories)
a. EPEL (Extra Packages for Enterprise Linux)
EPEL cos chứa hầu hết các gói phần mềm cần thiết cho việc cài đặt server.
Xem phiên bản mới nhất ở đây http://download.fedora.red...
File cần lấy có định dạng epel-release-X-Y.noarch.rpm với X và Y là số phiên bản, ví dụ epel-release-5-4.noarch.rpm.
Thêm nó vào thôi:
#rpm -Uhv http://download.fedora.red...
64bit down ở đây: http://download.fedora.red...
b. Les RPM de Remi
Chúng ta cần nguồn cung cấp này cho việc cài đặt các phiên bản mới nhất của PHP và MySQL
Xem phiên bản mới nhất tại đây http://rpms.famillecollet....
Với Centos 5 thì ta dùng file remi-release-5.rpm. Gõ lệnh sau để cài:
#rpm -Uvh http://rpms.famillecollet....
64bit down ở đây: http://rpms.famillecollet....
#nano /etc/yum.repos.d/remi.repo
để sửa file remi.repo. Trong mục [remi], sửa enabled từ 0 thành 1 và thêm dòng includepkgs=mysql* php* sqlite* phía trên dòng [remi-test]. Nội dung sẽ là
[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/enterprise/5/remi/$basearch/
http://iut-info.univ-reims...
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority
includepkgs=mysql* php* sqlite*

[remi-test]
name=Les RPM de remi en test pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com//enterprise/5/test/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Bấm Ctrl + X, trả lời y và Enter để lưu lại.

c. RPMForge
Chúng ta cần RPMForge cho một số phần mềm khác mà các nguồn phần mềm khác không có. Ví dụ clamav, p7zip, mc...
Xem phiên bản mới nhất tại http://apt.sw.be/redhat/el...
File ta cần có định dạng rpmforge-release-x.x.x-x.el5.rf.i386.rpm với x.x.x-x là số phiên bản. Lấy cái mới nhất ấy. Ví dụ rpmforge-release-0.5.1-1.el5.rf.i386.rpm
Gõ lệnh sau để thêm nguồn RPMForge
#rpm -Uhv http://apt.sw.be/redhat/el...
64bit down ở đây: http://apt.sw.be/redhat/el...
Dùng nano để sửa file rpmforge.repo
#nano /etc/yum.repos.d/rpmforge.repo
Thêm vào dòng sau tại vị trí cuối cùng của file
includepkgs=postgrey clamav clamd amavisd-new clamav-data clamav-filesystem clamav-lib clamav-server-sysv zoo unrar lha ripole clamav-db
Chú ý không để ngắt xuống dòng nếu ko sẽ gây lỗi.
Bấm Ctrl+X, trả lời y và Enter để lưu lại.
Thế là cũng tàm tạm rồi. Thử check xem yum có vấn đề gì với các nguồn phần mềm mới thêm không. Sử dụng lệnh
#yum update
bla bla...
Is this ok [y/N]: y
bla bla...
Complete
Thế là ok. Ta đã có PHP, MySQL và một số thứ nữa phiên bản mới nhất. Trong quá trình update, nó hỏi Importing GPG key... gì đó thì cứ Yes thôi. Nếu nó báo một số lỗi gì đó thì nó thuộc về mục khác, ko phải trong hướng dẫn này.

Rồi, giờ cài mấy cái phần mềm có trong RPMForge
Xóa clamav nếu đã có
#yum remove clamav-*
Cài p7zip
#yum install p7zip
Cài lại clamav
#yum install clamav clamd amavisd-new
Trả lời y mỗi khi nó hỏi Is this ok [y/N]. Sau câu lệnh này là ta có đc 1 cơ số phần mềm linh tinh cần thiết rồi (cỡ 33 loại)
Giờ thì thiết lập spamassassin thôi (cái này để chống thư rác đó)
#mkdir -p /var/spamassassin/bayes
#chown -R amavis. /var/spamassassin/bayes
Sửa file local.cf bằng lệnh
#nano /etc/mail/spamassassin/local.cf
theo nội dung sau. Nếu ko có các dòng tham số dưới đây thì thêm vào cuối file:

use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
bayes_auto_learn_threshold_nonspam 1
bayes_auto_learn_threshold_spam 7.5

bayes_path /var/spamassassin/bayes/bayes
bayes_file_mode 0777

score FH_DATE_PAST_20XX 0
score DNS_FROM_OPENWHOIS 0

ok_languages all
ok_locales all

Ctrl+X, trả lời y, Enter để lưu lại.
Cài đặt postfix, sử dụng lệnh
#yum install postfix
Sau khi Completed thì
#cd /etc/postfix
Tiếp theo là
#openssl req -x509 -nodes -days 1850 -newkey rsa:2048 -keyout privkey.pem -out cert.pem
Khai báo các thông số vào:
Country Name (2 letter code) [GB]: Tên quốc gia
State or Province Name (full name) [Berkshire]: Quận / huyện
Locality Name (eg, city) [Newbury]: Tỉnh / thành
Organization Name (eg, company) [My Company Ltd]: Tên công ty
Organizational Unit Name (eg, section) []: Tên đơn vị tổ chức (chả biết là gì, gõ đại đi)
Common Name (eg, your name or your server's hostname) []: Tên chung (Tên bạn hoặc tên máy chủ)
Email Address []: thì là thư điện tử chứ là cái gì
Xong thì gõ tiếp lệnh
#chkconfig amavisd on
#/etc/init.d/postfix restart
#/etc/init.d/amavisd restart
Kết quả đc 2 cái FAILED và 2 cái OK. Đừng lo vì 2 cái FAILED nhé. (đừng hỏi ko hiểu tại sao)

1.3 Cài đặt các phần mềm không có nguồn cung cấp (Non-Repository Software)
Chuyển vào thư mục home cho đỡ rác hệ thống nhé
#cd /home
Rồi, giờ bắt đầu
a. Courier-IMAP
32 bit xem danh sách ở đây: http://www.thatfleminggent...
64bit coi ở đây: http://www.thatfleminggent...
- courier-imap
#wget http://www.thatfleminggent...
64bit down ở đây: http://www.thatfleminggent...
- courier-authlib
#wget http://www.thatfleminggent...
64bit down ở đây: http://www.thatfleminggent...
- courier-authlib-userdb
#wget http://www.thatfleminggent...
64bit down ở đây: http://www.thatfleminggent...
b. policyd-weight
Cái này chả biết để làm gì, nhưng nó yêu cầu thì cứ cài thôi.
Xem ở http://sourceforge.net/pro..., mục Newest Files có cái file .noarch.rpm cần đó. Bấm vào đó, hủy bất kỳ những gì nó yêu cầu rồi chuột phải vào direct link, chọn copy link để lấy đường dẫn. Sau đó dùng wget để down về thôi
#wget http://downloads.sourcefor...
Download xong sẽ được file policyd-weight-0.1.15dev3-1.noarch.rpm

1.4 Disabling SELinux
#setenforce 0
Để SELinux luôn disable mỗi khi khởi động lại, sử dụng lệnh
#nano /etc/selinux/config
và sửa SELINUX=disabled

1.5 Download và giải nén ispCP
Truy cập trang chủ http://isp-control.net/ và tìm link dowload tại mục Quick Downloads bên phải. Click vào gzip, hủy yêu cầu download của trình duyệt. Click chuột phải vào direct link và Copy link để lấy đường dẫn. Dùng wget để download
#wget http://downloads.sourcefor...
Download xong thì giải nén nó ra
#tar -xvzf ispcp-omega-1.0.7.tar.gz

1.5 Cài đặt các gói phần mềm
Chuyển vào thư mục vừa giải nén
#cd ispcp-omega-1.0.6
Dùng lệnh sau cài đặt các gói phần mềm đã được liệt kê trong file centos-packages
#yum install `cat ./docs/CentOS/centos-packages`
Cứ yên tâm ngồi chờ thôi. Phần mềm nào đã được cài đặt và update phiên bản mới nhất rồi nó sẽ bỏ qua. Trả lời y khi được hỏi. Để ý thông báo cuối cùng, nếu có phần mềm nào đó bị xung đột hoặc lỗi khi cài đặt phải xử lý ngay.
ispcp cần sử dụng ReadPassword, bạn sẽ phải cài nó thông qua Perl vì không có gói RPM. Sử dụng lệnh
#perl -MCPAN -e 'install Term::ReadPassword'
Nếu bạn chưa có CPAN, hệ thống sẽ hỏi: Are you ready for manual configuration? [yes]. Hãy trả lời no và Enter. Mọi cài đặt sẽ tự động tiếp tục.
{Chỗ này đang làm tip thì lỗi mạng. sau đó chạy lại lệnh trên ko đc luôn. Nó bảo Don't know it is (cóc biết là cái gì). Sau 1 hồi lần mò thì cũng biết cách sửa. Chỉ cần xóa /root/.cpan/Metadata, /root/.cpan/sources/authors/01mailrc.txt.gz và /root/.cpan/sources/modules/02packages.details.txt.gz đi rồi run lại lệnh trên là xong}
Rồi, quay trở lại home nào
#cd /home
Cài đặt các gói courier
#rpm -Uvh courier-*
Nếu nó báo lỗi expect, libfam và libidn thì dùng yum cài thêm vào
#yum install expect fam libidn
Cài tiếp policyd-weight
#rpm -Uvh policyd-weight-*

1.6 Xóa bỏ các phần mềm không cần thiết
CentOS mặc định cài đặt sendmail nhưng ispcp sử dụng Postfix, vì vậy xóa nó đi bằng lệnh
#yum remove sendmail
Trả lời y khi được hỏi
CentOS mặc định cài đặt vsftpd nhưng ispcp sử dụng proftpd, vì vậy xóa vsftpd và cài đặt proftpd vào
#yum remove vsftpd
#yum install proftpd

1.7 Cài đặt các dịch vụ
Courier cần user và nhóm tài khoản riêng để hoạt động. Hãy tạo bằng các lệnh sau
#groupadd -g 3000 courier
#useradd -u 3000 -c 'Courier Mail Server' -d /dev/null -g courier -d /bin/false courier
Start MySQL lên nào
#service mysqld start
Nếu chưa có mysql hoặc start fail, hãy thử cài lại
#yum remove mysql*
#yum install mysql-server
Chạy tiếp các lệnh sau
#mysql_fix_privilege_tables
#mysql_secure_installation
Trả lời như dưới đây
Enter current password for root (enter for none): Enter
Set root password? [Y/n] y
New password: nhập pass mới
Re-enter new password: nhập pass mới
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Xóa bỏ file cấu hình của Apache
#mv /etc/httpd/conf.d /etc/httpd/conf.d-disabled
1.8 BIND DNS
ispCP giữ cấu hình domain trong 1 file tên là named-ispcp.conf. Chúng ta sẽ cần liên kết nó tới named.conf để dịch vụ DNS hoạt động. Chúng ta cũng cần tạo một số kết nối tới các vùng để ispcp hoạt động đúng. Hãy sử dụng các lệnh sau:
#mv /var/named/data /var/named/data-disabled
#ln -s /var/named/chroot/var/named/data /var/named/data
#echo 'include "/etc/named-ispcp.conf";' >> /var/named/chroot/etc/named.conf

2. Cài đặt
Chúng ta cần gcc để cài đặt ispCP
#yum install gcc
Cài xong thì chuyển tới thư mục có bộ cài ispCP nào
#cd /home/ispcp-omega-1.0.6/
Rồi sau đó chạy các lệnh sau
#make -f Makefile.centos
#cp -RLf /tmp/ispcp/* /
#cd /var/www/ispcp/engine/setup
#perl ispcp-setup

Nếu nó báo lỗi Term::ReadKey thì
#cpan
cpan>install Term::ReadKey File::MimeInfo Crypt::CBC Crypt::Blowfish Crypt::PasswdMD5
cpan>exit
Nếu nó báo lỗi Can't locate version.pm in @INC thì
#perl -MCPAN -e 'install version'
Nếu nó báo lỗi Cannot determine local time zone thì
#perl -MCPAN -e 'install DateTime::TimeZone'
#perl -MCPAN -e 'install DateTime::Locale'
#perl -MCPAN -e 'install Class::Singleton'

Chạy lại setup và điền các thông số
Please enter a fully qualified hostname: tên máy chủ.tên miền.com
Please enter system network address: Để mặc định, bấm Enter thôi
Please enter the domain name where ispCP OMEGA will run on: Tùy, ví dụ admin.tên miền.com
Please enter SQL server host. [localhost]: Enter
Please enter system SQL database. [ispcp]: Enter
Please enter sys

tem SQL user. [root]: Enter
Please enter system SQL password. [none]: Nhập cái mật khẩu MySQL vào
Please enter ispCP ftp SQL user. [vftp]: Enter
Please enter ispCP ftp SQL user password. [auto generate]: Nhập đại cái mật khẩu nào đó hoặc Enter luôn cũng được.
Please repeat ispCP ftp SQL user password: Lặp lại cái mật khẩu trên
Please enter ispCP phpMyAdmin Control user. [pma]: Enter
Please enter ispCP phpMyAdmin Control user password. [auto generate]: Nhập đại cái mật khẩu nào đó hoặc Enter luôn cũng được.
Please repeat ispCP phpMyAdmin Control user password: Lặp lại cái mật khẩu trên
Please enter administrator login name. [admin]:
Please enter administrator password: cái này đừng nhập đại nhé. Mật khẩu admin của ispCP đó
Please repeat administrator password: gõ lại lần nữa cho chắc
Please enter administrator e-mail address: email của admin
IP of Secondary DNS. (optional) []: 8.8.8.8
Use MySQL Prefix. Possible values: [i]nfront, [b]ehind, [n]one. [none]: Enter
FastCGI Version: [f]cgid or fast[c]gi. [fcgid]: f
Activate AWStats. [no]: yes
AWStats Mode: Possible values [d]ynamic and [s]tatic. [dynamic]: Enter
Starting Installation.... bla bla
Xong rồi.

3. Cài đặt Postfix và SASL
#touch /etc/sasldb2
#mkdir -p /var/spool/postfix/etc
#cp /etc/sasldb2 /var/spool/postfix/etc
#nano /usr/lib/sasl2/smtpd.conf
Copy cái nội dung này vào
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

3.2 Cấu hình Apache HTTPd
Apache cần được cài đặt để đọc cấu hình các website trong thư mục /etc/httpd/vhosts/. Hãy dùng lệnh sau:
#echo 'include vhosts/*.conf' >> /etc/httpd/conf/httpd.conf

3.3 Cấu hình Postgrey
Nếu chưa cài thì
#yum install postgrey
Rồi sửa file
#nano /etc/init.d/postgrey
sửa dòng OPTIONS="--unix=$SOCKET" trở thành OPTIONS="--unix=$SOCKET --inet=60000" để Postgrey chạy ở cổng 60000

3.4 Cài đặt các dịch vụ tự chạy lúc khởi động
#chkconfig --level 345 httpd on
#chkconfig --level 345 mysqld on
#chkconfig --level 345 ispcp_network on
#chkconfig --level 345 ispcp_daemon on
#chkconfig --level 345 amavisd on
#chkconfig --level 345 named on
#chkconfig --level 345 proftpd on
#chkconfig --level 345 postgrey on
#chkconfig --level 345 spamassassin on
#chkconfig --level 345 policyd-weight on

Chạy các lệnh sau để khởi động dịch vụ mà không phải khởi động lại
#service httpd start
#service mysqld start
#service ispcp_network start
#service ispcp_daemon start
#service amavisd start
#service named start
#service proftpd start
#service postgrey start
#service spamassassin start
#service policyd-weight start

Phân lại quyền cho thư mục tạm thời
chmod 775 /var/www/ispcp/gui/phptmp
Xóa bỏ các file tạm
rm -R /tmp/ispcp

Nếu gặp cảnh báo It is not safe to rely on the system's timezone settings.
nano /etc/ispcp/fcgi/parts/php5/php.ini
nano /etc/ispcp/fcgi/parts/master/php5/php.ini
sửa dòng
;date.timezone
thành
date.timezone = "Asia/Ho_Chi_Minh"

END
Đọc thêm..

BackLink ?

Backlink là gì? Cách tạo backlink hiệu quả

Back-link đơn thuần là một link từ site khác tới site của bạn. Tạo ra 1 back-link là công việc đơn giản nhưng bạn không chỉ cần 1 mà là hàng nghìn back-link và thêm nhiều link mới mỗi tháng. Tạo ra 1 back-link chỉ cần vài phút nhưng tạo ra hàng trăm hàng nghìn link mất rất nhiều thời gian và công sức.
Back-link là một phần tất yếu trong thế giới SEO. Nếu bạn muốn site của bạn đứng trong top của các công cụ tìm kiếm thì site của bạn phải có rank cao. Muốn có rank cao, bạn sẽ cần tạo rất rất nhiều back-link. Công việc này đòi hỏi rất nhiều thời gian và công sức nhưng kết quả thu được rất đáng giá với những gì bạn bỏ ra. Cứ mỗi giây Google nhận được 3,000 truy vấn search hay 180,000 mỗi phút. Nếu bạn muốn có mặt thậm chí là xếp cao trong danh sách kết quả tìm kiếm này, bạn cần phải chăm chỉ và khôn ngoan.
Back-link đơn thuần là một link từ site khác tới site của bạn. Tạo ra 1 back-link là công việc đơn giản nhưng bạn không chỉ cần 1 mà là hàng nghìn back-link và thêm nhiều link mới mỗi tháng. Tạo ra 1 back-link chỉ cần vài phút nhưng tạo ra hàng trăm hàng nghìn link mất rất nhiều thời gian và công sức.

Bạn cần bao nhiêu link?
Không bao giờ là đủ. Càng nhiều link càng tốt. Bạn cần tạo ra nhiều link hơn đối thủ có rank cao nhất trên Google. Nếu làm được điều đó, bạn sẽ là NUMBER ONE. Càng nhiều đối thủ cạnh tranh bạn cần có càng nhiều link để trở thành người dứng đầu. Hãy lập kế hoạch tạo nhiều link nhất có thể trong suốt sự nghiệp của bạn. Mỗi tháng các đối thủ add thêm rất nhiều link mới, nếu không muốn trở thành kẻ thua cuộc thì số lượng link của bạn phải không ngừng tăng lên.

Hãy cẩn thận khi đi “đường tắt”
Khi lướt web, bạn sẽ thấy có rất nhiều site quảng cáo dịch vụ “đường tắt” để tạo link. Họ hứa hẹn sẽ bán cho bạn hàng trăm link. Bạn cần nhiều link nhưng chất lượng link đóng vai trò rất quan trọng đối với sự thành công của bạn. Các site liên kết với bạn phải liên quan đến chủ đề site của bạn, nếu không các công cụ tìm kiếm sẽ bỏ qua các link đó. Nếu site liên kết với bạn mang nội dung spam hay văn hoá đồi truỵ, rank của bạn sẽ bị giảm trầm trọng chỉ vì “có liên quan đến nội dung xấu”. Mua back-link là một việc làm nguy hiểm. Chọn site và tự tạo liên kết là giải pháp hữu hiệu hơn rất nhiều!

Sử dụng bài viết để tạo link
Viết những bài chứa thông tin nhiều người quan tâm là một cách hay để tạo back-link. Bạn có thể post bài viết lên site của bạn và publish chúng trên các directory. Mỗi site publish bài viết của bạn sẽ tạo ra 1 back-link. Và bạn hoàn toàn có thể thuê ai đó hay một nguồn nào đó viết bài cho bạn.

Sử dụng video để tạo link
Một cách hay khác để tạo link là sử dụng các video clip. Bạn có thể tạo một video clip về cuộc sống thường ngày của bạn hay một cách kiếm tiền thú vị của riêng bạn. Hãy post các clip này lên site của bạn và publish chúng trên các video site như youtube.com, metacafe.com, viddler.com và các site khác. Công việc này sẽ đem đến cho bạn thứ hạng rất cao trên các công cụ tìm kiếm.

Sử dụng các mạng xã hội để tạo link
Mạng xã hội như Myspace là một cách hay để tạo ra các link chất lượng. Myspace là một trong những site có lượng khách truy cập lớn nhất trên web, vì thế link từ Myspce sẽ giúp cho site của bạn được nhiều người biết đến. Để tạo link từ các mạng xã hội này, bạn hãy tạo một account, link đến những người có cùng sở thích, comment cho họ kèm theo một đường link đến site của bạn.

Sử dụng Blog để tạo link
Các chủ blog đều mong muốn nhận được comment từ người đọc. Hãy ghé thăm các blog có cùng chủ đề với blog của bạn và các blog nổi tiếng khác, comment cho họ. Trong comment bạn không nên giới thiệu bản thân mà nên tham gia vào cuộc hội thoại. Ví dụ, nếu site của bạn có chủ đề về marketing và bạn thấy một blog liên quan đến chủ đề này, bạn nên để lại một comment như:”đây là một bài báo tuyệt vời với những quan điểm hay. Tôi cũng tìm thấy một số công cụ tuyệt vời tại www.site-của-bạn.com”. Một cách hiệu quả để tìm thấy các blog hay liên quan đến chủ đề của bạn là thiết lập một bộ cảnh báo của Google với tất cả các từ khoá liên quan đến chủ đề đó và bạn sẽ được thông báo bất cứ lúc nào có một bài viết liên quan đến các từ khoá này. Công việc chính của bạn là ghé thăm các blog và comment cho họ!

Nghe có vẻ chúng ta phải làm rất nhiều việc ???
Đúng là có rất nhiều việc nhưng hãy tự ám ảnh về con số 180000 hoạt động search mỗi phút. Nếu bạn không có thời gian để làm công việc này, có các công ty trên web sẵn sàng giúp đỡ bạn. Nếu nhờ họ bạn sẽ cần rất nhiều chi phí nhưng cũng “đáng đồng tiền bát gạo”, bạn có thể tiếp tục sự nghiệp chuyên ngành của mình trong khi các công ty tạo ra các link và đưa bạn lên vị trí đứng đầu.
Đọc thêm..